There are a lot of techiques to get powerful/loud/punchy mixes (Just don't fall into the trend of squashing the crap out of everything - music should be dynamic).
First and formost, capturing the sources properly (mic choice/placement, great sounding instuments, and especially performance).
Secondly, knowing how to use compression correctly, and where to use it. Let's say you want your kick drum to sound punchy, and the source lacks the punch you want. You can apply compression, but if you set the attack and release too short, you'll actually lose punch. You need to play with those parameters so that the attack of the kick comes through, and adjust the release so you're not cutting things off too quickly.
Another trick is applying bus compression. If you put the bass and kick on the same bus (and compress the bus), this will allow those two instuments to mesh together better, which results in a more punchy sound.
Attention needs to be paid to EQ as well...if you have several instrument occupying the same frequencies (Bass and Kick are likely to be this way), then you'll end up with a big build up at those frequencies, and you'll just end up with mud. Most people think subtractive EQ is best (and I'll agree with that in a lot of cases), but sometimes you need to boost some stuff too.
Limiting is the last step in the chain for me, which is applied to the entire mix. You can gain a lot of punch by limiting, but if your mix isn't well balanced to begin with, it will go south quickly when you apply the limiter.
There are a ton of other things that I could get into, and I'm sure others will, but the best advice is to practice, practice, practice. What works for one thing, may not work for another, and it's been said before, there are no rules!
Have fun!