I think its all about decision making
1. I may get stuck with sound-design, melodies
if this seem to become a problem you can create a discipline of how much attention you pay to something, for example how much attention you need to pay to the bass? so lets just say I want to spend 30 minutes with my bass and you do your best that you can for those 30 minutes and MOVE ON, because the song has to be finished
2. arrangement
sometimes people may have a bunch of cool things like bass line, pluck, pad, lead, rise effect, fall effect, bridge, but arrangement could be a problem
you can listen to a bunch of different songs and see how they arrange the song and why something works good why something doesn't work good
3. now just before the song is about to finish, someone may be like " OK, BUT I JUST WANT TO GO BACK AND CHANGE JUST A LITTLE OF SOMETHING "
when you get to this one BE CAREFUL
try not to make any changes unless there is an extreme problem that should not be ignored
think more about finishing, think less about changing
4. BUT MY SOUNDS ARE NOT COOL?
if you feel like your sound design is not good enough, or your mix is not good enough that is a different problem
it may take you 10 years to become the producer you want to become, and you don't want to end up for not finishing a song for another 10 years ,
if you want to IMPROVE, you can spend an hour a day to improve, watching tutorials, discussing on forums like this one, but when you compose that is not exactly time to learn it is more like time to celebrate, time to finish it