These focus strictly on how things look. They are often stateless functional components that receive data and callbacks exclusively via props.
Logic: Little to none. They don't know where the data comes from; they just display it.
Redux: They have no dependency on the Redux store or actions.
Reusability: Highly reusable across different parts of an app.
Styles: Usually contain the CSS/styles.
These focus on how things work. They act as the glue between the Redux store and the presentational components.
Logic: They handle state management, data fetching, and event logic.
Redux: They are directly connected to Redux using the connect function (HOC) or hooks.
Reusability: Low. They are usually specific to a particular feature or data source.
Styles: Usually do not contain any CSS or DOM markup of their own (other than a wrapper).