The economy is definitely the biggest factor. I think people are generally eager to move out of their parents' house as soon as they are ready, but not being able to find a decent job plays a major role in not moving out.
Couple that with the fact that most households nowadays require two incomes to survive, if you don't have a partner to help pay the bills, unless you have a great paying job, good luck in moving out. Also the lack of financial responsibility on the part of a lot of youth today.
Then you have sky-high rent prices (at least in much of Canada. I'm not sure about elsewhere in the world), and a high cost of living, it makes a lot of sense to continue living at home with your parents until you're financially ready.
The flipside is "Can parents afford to keep their kids at home for longer?" Unless you're paying rent to your parents, there is a financial burden on your parents in you remaining in their household for a long period of time.
I'm SO glad I was smart in high school. I got my first job as soon as I was of legal age to work. Instead of blowing my money on iPhones and iThis and iThat, I saved it all up and put it towards tuition. With a lot of hard work, I was able to pay for my tuition without having to go into even a single cent in debt. It helps tremendously.