A common misconception with all CMS's from the universals like Drupal and Joomla to specialized blogging, forum, wiki etc is that you need skills in the language it's written in (mostly MySQL and PHP). For the most part you don't need to know any of that, although knowing it will help you expand beyond the modules and themes currently out there. You don't need to understand HTML or CSS either, although that's useful for tweaking themes to your liking.
When I build a Drupal site, I only need to look at the CSS for a little while at the start to make minor adjustments, after that everything is done inside the browser. This has the advantage of not being OS specific, all you need is a competent web browser and an internet connection. You don't need any FTP application to upload new images, videos, music or new posts. You can add new posts from your smartphone if you like while on the train. Much like this forum, click a "new post" and the box opens up where you can type, then click "submit". This forum is PHPBB btw, another CMS but specifically designed as a forum. Drupal is nowhere near as advanced as this in the forum stakes, but perfectly competent.
These software packages are designed so that you do everything inside the web browser, they have a back end administrator interface of some sort that the end user never sees. It's there that you enable modules, create menus, add different streams of content into specific places ie latest forum posts on the right sidebar in the forum section, or a grid laid out list of latest items in your store, or allow users to change the sort and filter order on a list of titles in a genre to include / exclude various things (think price low to high, or high to low, include or exclude web only offers).
CMS's give such flexibility and power that I wouldn't even consider building a site by hand now. Modern websites are often social places, where the site owners / maintainers want to interact with their audience, and have the audience create a community behind the site. That's what compels people to return over and over again, giving you more eyeballs to target other things at, like launching new services. Being able to add a fully functional forum with a few clicks is priceless. How long would it take you to hand code that assuming you do have the programming knowledge?
It may be easier to conceptually think of CMS's as website operating systems, there are so many little things that you don't notice but they all need to be there and working, like a way to manage user accounts for logging in, signing up, spam protection, email reminders, email verifications to name just a few. The mature CMS's have had a LOT of man hours building, tweaking, re-tweaking and polishing of their systems so that they do work well. They also have huge communities built around development and support of modules, themes etc
The subtle differences I've noticed between Drupal and Joomla, is that Joomla came from a more closed background, where it's the norm to see addons and themes as paid options, or having to agree to a EULA such as limiting the number of sites it runs on, or including a link back etc Drupal and all it's ecosphere has been built right from the ground as proper FOSS / GPL. You'll struggle to find any Drupal stuff that's a paid or closed module. The flip side of that is that developers struggle to sell Drupal modules or themes, it doesn't stop them selling support, or custom work however.
Joomla installs with a lot of dummy data so you have a working website right from the start, with links, pages, lots of content. This is handy to explore but it means you have to clear it all out or edit page after page when building. There is an option in the installer not to do that, although when I tried it, the installer ignored that and filled it anyway. Drupal on the other hand installs as a very KISS, light base with only the default front page filled in, it gives you an introduction to where to start with your new Drupal site, and disappears when you create your first piece of content and put it on the front page. The Drupal ethos is to be very minimal and let you add on the features you want.