I was a student: I did it entirely as a hobby, and I didn't do it particularly well. My advice comes not so much from learning how to develop a good game (in the time I thought of myself as a developer, I made nothing above "bad"), but more from playing lots and lots of indie games, and trying to figure out which ones were standing out the most in my mind.
Polish is tricky, but generally it entails playing over a game again and again trying to make things perfect. This showed up most in RPG development: when the battle system in every game is the same, you learn that what matters isn't your system, but rather how you manage to use that system to constantly grasp attention. (In fact, if you ever have time to develop games without worrying about it for money, I'd suggest you download a standard RPG development kit: that'll teach you how to make addictive games despite having almost no control over your basic systems. That way, when you begin making your own games, you'll have a feel for what's going to get at people and what they'll ignore as "yet another game system".