… isolate concerns, make your code reusable, and let you easily compose your app from smaller parts. Thinking of your components as functions that map the passed in props to DOM elements is a good way of thinking about the structure of your app.
Learning something difficult, however, is beneficial in and of itself. The process is the prize. Struggling with code, while frustrating, is medicine for the mind.