Simple..
This song has a decent intro, like how the piano starts. I just find it a bit too high, you can probably their in some low notes.
When the main synth came, I was like.. Oh my god? It sounded too distorted. What you should do is remove the chorus/phaser/flanger/ whatever you used.. It sort of ruined the song. That's the mistake of most beginners. Adding something that will eventually lead to the song's demise.
What you can do is synthesize your own synth, this gives you more control on how you want your synth to sound like, and allows you to avoid that synth that has really overdone effects.
The melody of the main synth isn't that good too, and that's because of the constant rhythm the melody has.
It seems like the bass eventually doesn't follow the chord progression. It seems to lead away from it, while the melody just goes on and on constantly.. And I'm not really going to go into how common the chord progression you used actually is, this the importance of making your song sound unique.
Finally, the song's beat isn't that beaty. You've concentrated too much on the downbeats and little attention was given to the upbeat. You can't simply make every instrument play every beat, it will make the beat sound heavy.
Good "beaty" songs have a strong downbeat AND a good upbeat. It allows the listener to restore himself in between every beat.
One way is to add a open hi hat every upbeat, that is, in between every kick drum (assuming you put it on every beat.)
Also, what's popular is to make the bass play in between every beat, that is, an off beat bassline.
Also, to avoid concentrating on the downbeats too much, the melody does not have to be on every downbeat. Something more irregular will work better.
Oh, and here's a tip. To make you song transition, you can automate a lp filter to make instruments fade out and in.
Oh well. Though this review was a bit harsher than usual, I do hope this does helps you in you music production. :)