It's been a while since I was a student. When I was in university, I actually had one project that was then used in a real world context for at least a few years - by university students.
But most of my colleagues never did anything like that. Here are a few reasons why (and also why I didn't do more):
- Lack of experience
Making an actual useful real-life application is hard. You quickly get into things like security, device-model-specific bugs, support for users using the thing wrong, because you have no idea to do proper UX and so on.
Moving from making toy prototypes to real programs is not simple at all.
- Lack of mentoring
University teaches you stuff, but only the very broad-strokes basics. When you get your first real job you are usually in a team with some more senior people and they can help you move the university basics into a real-world context.
- Lack of funding
Most people can't afford putting hundreds or thousands of hours of work into a project without anyone paying the bills.
- Lack of time
Most people have to finance stuff like rent themselves. They are already balancing university, work and life. There's not a ton of time left for a third thing.
- Not a lack of ideas
Every programmer I know has more ideas than they will ever finish in their entire life. And every programmer has a bunch of MBA people who tell them every time they meet about their amazing app idea ("You know, an app where you can buy things, but you buy by swiping right! It's going to be the next Amazon! If you implement it, you can have 10% of the profits!").
If anything, having too many ideas leads to switching your side projects once your last side project becomes too annoying.