Building on top of the WordPress CMS can be as simple or as complex as you would like. My experience has run something like this:
found a few free themes I liked, loaded one up on a local development platform ( like XAMPP ) and dug into the WordPress backend ( the wp-admin area )
once I made myself very familiar in wp-admin I concentrated on using the Post and Page editor to add content. At this point in time I simply added content to a theme without much in the way of theme modifications ( layout and styling ). My choice here was to stay far away from all the page builders like Visual Composer or Elementor. Use your HTML skills here instead. ( look into a plugin called “Classic Editor” so you do not have to deal with Gutenberg as the majority of tutorials you will have available will not be using it )
once you are comfortable doing that you can up your game making major styling changes to your theme ( by the way - always always use a child theme! and if you don’t know what that is spend a bit of time researching it ). Every WordPress theme must have 2 files called style.css and functions.php and your styling should go at the bottom of style.css ( both these files will be in the root folder of the theme or child theme )
Learn to add new functionality to your website by adding some good quality plugins. I define ( for myself ) a good quality plugin as one that regularly publishes updates and that has a good sized number of active installs, some thousands typically. If you want you can see what I have bookmarked for useful plugins by clicking “Add New” plugin, then click on favourites, then use my username to search ( rickstewart ). All of the plugins I use will pop up.
As mentioned learning some php is necessary to really customize WordPress. You’ll start out by finding code snippets via Google search and simply cutting and pasting the code in that second “always there” file called functions.php. Later you will start writing your own code here, almost daily if you do a lot of WordPress. Also you will start making your own custom page templates to replace pages that come with the themes and also the ones built into WordPress itself.
So that was my learning experience more or less. Its probably similar for most WordPress developers.
Great luck to you!