From my own personally experience:
I started in web dev - easy to learn, can do it at home, easy to move into - got quite a few jobs
Moved into desktop support as was looking for jobs in either web dev or support and just happened to land support
have now moved into consultancy which prefers you to be more rounded than specialised.
One big down side of web dev is that you have to know ALOT of technologies very well (css, javascript, html, xml, php/asp/jsp). Most companies just expect you to be able to do the css and javascript automatically and jsp/asp/php is the only skill set they actually consider a skill and ask for and pay you for.
The other issue with it is the web is constantly changing and so if you ever take a break for a while you'll come back and what you know will to some extent be outdated.
Desktop programming can pay quite well but is very hardcore 'sit infront of a computer and code for the rest of your life' - that personally for me doesn't appeal that much.
Consultancy on the other hand involves alot more travelling, liasing with people, using a more broad range of computer skills and a MUCH bigger expense account with the company you work for. Trips abroad, dinners, cabs, hotels, etc all become part of the norm and something you expect and something you would never see as a programmer.
Programmers also tend to have a pretty narrow career path - head programmer is usually the best you can hope for (same with web programming for instance). Consultancy for instance can move you up the company ranks to management etc and some fatter pay cheque's.
Having said that, if you're a naturally very tallented programmer companies will be bidding against each other to get you and you can pull in a pretty fat cheque. I'm sure Matt here makes quite a decent pay cheque as I'd imagine he's a highly sought after person with his immense knowledge of multimedia related programming. Down side is just the being stuck infront of a computer part.