Azure doesn't have plans - each of the things you called out are services that you can use separately or combine. Don't think of this as a hosting company like GoDaddy.
You need to consider the complexity of what you're running, and how much control you need when installing your app.
- Web Sites allows very very easy deployments of web apps (asp.net / mvc, python, php, node) and integrates directly with about a dozen version control engines (tfs online, dropbox, GitHub, etc.). The downsides? Only port 80/443, no VM customizations allowed, and no fixed IP address (for whitelisting purposes, for example).
- Cloud Services (web / worker) allow you to focus on your code and not the OS maintenance. Very straightforward scaling option, and you can run any type of workload you want, that would be supported by Windows Server, with a few exceptions (no GPU support, for example). Just know that web and worker roles (equivalent except for enabling of IIS) are stateless - you have a startup script that sets up your VM with each new instance spawned, and with every reboot based on VM failure (or maybe you're moved to new hardware). This includes things like downloading/installing apps that your app needs; setting up perf counters; etc. These operations should be fast, and automated with no human interaction, since they need to be scripted. You can RDP into a web/worker role instance, but don't make any changes this way except for dev/test purposes - if the box is rebooted for some reason like disk failure, all your manually-executed changes will be lost.
- Virtual Machines (Linux / Windows) gives you full control over the VM, and the VM is backed by durable storage - everything you do survives reboots. This is the type of environment perfect for, say, a database server like SQL Server, since it takes a while to install and requires manual intervention. When scaling, you'll need to make copies of some type of "master image" - so, if you build out a web server, you'd sysprep an image and then scale out by making additional VM copies. This is not as convenient as web/worker scaling, as web/worker scaling is controlled completely by Azure, just spinning up plain-vanilla VM images and applying your code to them.
You'll find that a typical system has a mix. Maybe in your case, you'll set up your web tier in Web Sites, and your SQL Server in a Virtual Machine. There are additional features you'll start to find as you explore further (such as IP-restricted endpoint access on virtual machines, and virtual networks). I'll leave that up to you to explore further...
Regarding difference between web/worker and web sites, I posted another StackOverflow answer, here, that goes into more detail.
EDIT - forgot to mention SQL Database Service, which is a multi-tenant SQL Server-as-a-Service offering. Trivial to set up and use (only a few seconds to get a database which scales to 150GB per database), yet restricted a bit over full SQL Server (no CLR, no FTS, etc.). There's a TechNet article pointing out more differences.