a) The likes of Morgan Stanley, PWC and suchlike put a lot of effort into always being at the forefront of student minds, by sponsoring societies, etc. That often means they are the default first choice. They also organise a ton of events to show students how nice they are.
b) Money. No getting away from this one. A decent starting salary might be in the region of 25k, the companies mentioned above usually pay somewhere around 35k. That 10k makes a huge difference after 3-4 years of living in squalor.
c) Inexperience. Coming out of university a job is more-or-less a job. You write some code, get paid, that's it. It takes a bit of personal experience to fully appreciate the corporate reality of legacy code, bureaucracy and incompetence. In my experience it often takes those encounters with the beast that is corporate coding to make you run for the hills or startups.
d) Peers and parental pressure. Your mates are all getting golden hand shakes and nice lunches at Big Corp, it is natural to want the same. Also, when you get that job offer from PWC or similar, your parents' eyes light up with excitement and they run off to tell all their friends about it. When you get a job at a three man company, their reaction is likely to be mild confusion at best. Sad but true.