Yeah man, it's those instruments. One of the first things I've noticed in Hip-Hop production is that it doesn't matter if you have the best melody in the world. Until you have top notch sounds, the track will sound mushy and awkward.
Your piano sounds like it's a stock sound. Hook yourself up with a soundfont piano, specifically a Steinway. Also, try using some VSTs for your synth sounds; even the orchestrated ones like your strings. Look into VSTs like Z3ta+ and Native Instrument's Massive which both offer amazing wave-shaping abilities. This will give you an edge on your synth sounds.
For percussion try looking into Big Fish Audio or even look up some of your favorite producer's kits. They're bound to have one out there. These kits are great and offer high quality sounds that cover every sound range and really make a track sound professional.
Like I said man, This is a really good track and has lots of potential. It's just a matter of changing up the sounds. I've been there. I'm going through it now. I'm just learning which sounds work and which don't.
Keep it up.