Setting up a Drupal deployment, from a "where do I put the code" standpoint, is different than the setup within your actual Drupal install. It's based, quite a bit, on what you know with regards to technologies and your comfort level with them.
For example, when I first started using computers, I was Ok with using FTP. Software allowed me to connect and upload with ease. I didn't have to know the command line and frankly, knowing commands in a terminal scared me.
Flash forward a number of years and now I can't live with out it. It's just so fast. Using the command line and technologies like CVS and SVN is what allows an admin to download, update and maintain an installed codebased with much ease - but, this comes at the price of having to learn those technologies.