I would like to explain this in more detail. Imagine a person is working to deliver a business application, a typical application with a OO language that interacts with a database. And he sort of uses the normal set of tools for the job. He uses a version control system, bug tracking/time tracking systems. He uses scripting to do data heavy lifting tasks, he learns SQL and learns to use various features of a RDBMS. He also learns techniques for medium level scalability(learns how to use cache etc). He learns to use the IDE, the API's. He begins to learn Unix in greater detail and how to use that for development and deployment. He learns how to test, write unit tests. He also learns best practices. He does regular code reviews. He learns the process of collecting requirements, delivering finished stuff. Talking to customers etc etc.

All these things that I mentioned, have virtually very little to do with diving deep into Computer Science aspects. Yet this is the story of nearly every software shop out there. If a person can just focus on doing that stuff properly he can be a lot ahead of the regular crowd. And make real good money too.

This also the place where you can get into project management and still have you handson going. Because there aren't major paradigm changes to this once you get used to them well. All you need to do is keep in touch with some latest stuff and you can really end up making a lot of money. And still continue to climb the corporate ladder, be a good management and have good control over technical stuff.

Now image an another scenario. You join a major big web corp, they hire you to write difficult algorithm stuff. Sure your passion will help you learn. But compared to the first guy your opportunities to interact with business are so scanty you really will miss out the big money stuff. The same thing happens with start up's. Also you will no longer be the reap the management pie, you will always continue to write code. And the biggest problem with our society is management drives the value addition. You will just end up being a implementer in their hands, you won't end driving up much value and with that definition money too. Over the years you miss out on the whole ecosystem, and you just won't have flow to compete with your peers if you ever want to get back and compete with them.

Also the the first kind of jobs have many low hanging fruits to make lot of money.

Also about start up's like OP mentioned:

The high-percentage outcome is you work really hard for the next couple of years, fail ingloriously, and then be jobless and looking to get into another startup. If you really wanted to get into a startup two years out of school, you could also just go work at a megacorp for the next two years, earn a bit of money, then take your warchest, domain knowledge, and contacts and found one.

People have to understand, when you fail you loose time, and also the money which you had else made if you hadn't failed.

Sure go for the funky job. But also understand the risks behind them. Not all start up's, Big web corps are going to help you be big. There are good enough cases where people have made it big working there. But there also good enough cases where people haven't. When everything is going smooth and as expected its all milk and honey, but if it doesn't you are really toast.

I would say, Big corp jobs really are not as bad as they depicted to be. If you do the right stuff(Just do the bare minimum properly), you actually can be quite successful and go quite far both in your career and money wise.

And most important as I said, just merely doing technically difficult job automatically won't imply both career and financial success.