Regarding your second point, there is this talk by Petri Purho (Noita) about making a bland game feel fun to the user:
https://www.youtube.com/watch?v=Fy0aCDmgnxg
As for your first point, I would suggest aspiring devs to try to prepare themselves to take part in "game jams". The constraints (including a time constraint) help focus on important parts.