I've been in big stodgy software company where everyone worked exactly 8 hours, and the whole company filed out the door at 5pm as if a factory whistle had blown. I've also worked at a smallish software company where the norm was at least 10 or 11 hours a day, and half the programmers came in on Saturdays and Sundays (and I did too).
I much preferred the latter. Why? The work was more interesting, and the programmers were smarter (and nicer!), but the main reason I preferred it is, "What's the alternative for my free time?"
What do you really do with the rest of the day? Yeah, sure, you have great "personal life with your family". But really, the typical programmer at BOTH companies was single, didn't have a girlfriend, and didn't have many friends.
The free time was wasted on video games, lots and lots of video games, mindless chatter at a bar, watching team sports,... you get idea.
Let's stop with the whining and sniveling about unpaid overtime among programmers. The average programmer is well paid, his work is usually interesting, and his free time will be squandered (applies to me too). I prefer to be at work where at least I'm doing something real.