I’d imagine somebody gets a big payout once in a while and that hope keeps squatters squatting. I know (from trying to sell a few domain names) that it doesn’t happen often.
An alternate approach is to hold on to old domain names that get some traffic and hyperlinks. Alternately there is ‘SEOmaining’ where you develop simple sites on the domains you hold. If you can make $1 a month with a site you can hold the domains forever and you can even sell links from those sites, link to your own ‘real’ sites, …