This is all definitely solid advice. I've had more than a few projects fail because of scope creep. The important part is to actually work on it and then release it when it's finished. Don't just let it sit on your computer completed but unpublished because you "want to add new features." At that rate it'll never be published.
I've had the opposite problem, I suppose. I can hack things together fairly well because there is still so much for me to learn that I end up doing exploratory projects. I'd love to get some experience building some enterprise software with all the rigour and structure that comes with it.