My own experience has been mostly low/mid-tier companies (software factories mostly) and they are terrible: slow moving, legacy and uninteresting projects; low motivation; no highly qualified people to learn anything from; nobody cares if the damn thing works.
My current job is at a relatively big company. Fast moving projects, interesting tech (depending on the project), high motivation, lots of very knowledgeable coworkers. Granted, my experience is a really small sample (1 out of 1) and I've never worked for a startup so I can't compare. One of my friends has been struggling with his own startup for some years, and while the tech is interesting, his day to day is very stressful (and highly focused on staying afloat) and I wouldn't want it for me.
The big companies I have worked with have always had legacy software and slow moving projects. (Edit: 2 out of 3 of the big companies I have worked for. One was very cool, but the location was absolutely terrible).