For me the thing that distinguishes hobby from work is the second 90% of the project.
Working on the ideas, the architecture, the interface and piecing it all together is fun and I don't mind staying up long if I do say a game jam. However, once everything is up and running, you get into the tedium of making the project actually work. This might be fixing all books or making sure that the door on your tree house can, in fact, be closed.
In a hobby project you can say 'good enough' and be done with it. In work setting, not so much.
Sadly, in my experience at least, most commercial software projects also suffer from the "treehouse door doesn't close" problem. I think far too many "professional" developers give up after good enough.
Working on the ideas, the architecture, the interface and piecing it all together is fun and I don't mind staying up long if I do say a game jam. However, once everything is up and running, you get into the tedium of making the project actually work. This might be fixing all books or making sure that the door on your tree house can, in fact, be closed.
In a hobby project you can say 'good enough' and be done with it. In work setting, not so much.