Some reasons for staying at home are cultural or economic.
I think living at home until you are 30 is OK but after that it's time to go. In today's society it's virtually mandatory to have a university degree or some other sort of higher education (e.g. trade). If you go to university you're probably coming out with one heck of a high debt load ($40-50K in some cases). If you move out before that debt is paid off you're paying $1,000-$1,500/month on living expenses, even sharing a place. On an entry level salary, it makes it difficult to pay of that debt load. If you're putting that money to paying off that debt load, or even saving for a condo/house, by living at home then that's the way to go.
After 30 you really should have you own place. Hard to impress a girl if you don't have a place to bring her.