They can do a lot of the same things, but in different ways.
Many people like CSS‑in‑JS because it lets them manage code at the component level and have a productive workflow.
There are lots of CSS‑in‑JS libraries out there. I like Styled System because it makes it easy for me to use a responsive design system.
Build components with style props applied to the components themselves.
You can use fancy new CSS features with CSS‑in‑JS. The idea that you don’t need to know CSS to do CSS‑in‑JS is not true. CSS‑in‑JS is still CSS!
With CSS-in-JS your styling can change based on state or props passed to your components.
This is all very new and it can be a challenge to keep up. If you like trying new things and want to build websites this way, there’s nothing wrong with that and don’t let anyone stop you!