Go LAMP all the way.
If you're going to do just scripting *Ie just message board and widgets*, you won't need more than php and mysql. When you start getting into more complex programming python and perl are great!
The great advantage of linux with apache is, it's free. Free like beer and speech. If you're physically setting up your own server, you can feel free to change anything you want in the code to adapt it to your needs.
There is gobbs and gobbs of information of scripts, how tos, open source software, etc for this setup. Php is extremely easy to learn, and free mind you. *like both beer and speech* It can get spaghetti style if you have poor organizational skills, but I've seen very large programs written in php that were both clean and easy to read. *You can find crappy programming on both sides of the fence, so don't use it as an argument to choice either*
The disadvantage of LAMP, there isn't anyone to tell at. Something screws up, it's no ones fault but your own. Apache isn't owned by a company like Microsoft. It's a community built application.
Windows IIS and ASP. The advantages, once you've paid for you'll have some tech support for a limited amount of time. Since it's geared towards business owners it has that mentality. Any problem you have, you can call someone and pay them, the problem will be fixed.
ASP, especially .NET ASP is extremely powerful. Since you're taking advantage of the full operating system, you can write full scale programs online that function just like their desktop counterparts.
The great disadvantage, and trust me, it's a big one, you have to code, the Microsoft way. What is the Microsoft way? You have to use their development software to build all your apps with. It costs a pretty penny to! Want to hardcore your apps from scratch? Too bad! Once you start developing a project with their software, it's a code minefield to just figure out how to do the simplest of tasks!
The Microsoft way also entails, you have a bug in your server software, there's a good chance they'll say, sorry we'll be fixing that problem in the new server 2007. Want to fix the problem yourself? Not going to happen, Microsoft's source code is as closed as Fort Knox. So even if you really wanted to, you couldn't fix the problem.
I'm sure I could go on forever, but that's the basics for you.