As others have stated, a lot of it comes down to proper sound design / sample selection. What hasn't been mentioned yet is the mixing aspect.
For any song, I like to say that it's best to get your low end working first (your kick + bass) as this is what will get people dancing. To this end, generally the kick+bass need to work together to create a sort of "pulse." There are tons of ways to do this, just search google. Off the top of my head, the way I would do it is through compressing, EQing, or sidechaining (or with a mix of them).
The compressor on a kick with a fast attack will create the pumping. EQing is probably the most important aspect though, and each kick/bass sound requires different equalizations. Essentially you need to make enough frequency room for each instrument to reside without mudding up the other. Again, the frequency ranges will be in any guide you find on proper mixing (search kick/bass mixing on google). Generally you're going to want your kick/bass to be louder than the leads as well. You just gotta remember to leave enough frequency room for each instrument to play in or else you will lose that pulse that makes it exciting to hear.
I've been struggling with this lately in my productions, which it sounds like you have too. Making the music sound professional so that other people find it appealing. It comes down to all the aspects: proper sample/synth creation, good arrangement to have the build ups/drops, and definitely the mixing (arguably the hardest part). Maybe post some of your stuff and I can suggest which area you need to focus on?