Oh man I litteraly could write a book trying to answer your questiuon. Its just not that simple. There are so many many variables. I honestly beleive that the soft baits account for most of the good swimbait fish, probably 80%. However that doesnt mean they are better or even more effective. For starters there are a lot more soft baits to choose from. You can find a soft bait for almost every situation but it is more difficult to do with the hard baits. Hard baits tend to cost A LOT more so guys tend to preffere the soft baits. At any given time on any lake there is more than 1 pattern going There could be a topwater bite in 12 ft along the tree lines where a Slammer or Punker or 2x4 would get bit but at the same time there might be be fish stacked up in 20ft just outside a prime spawning flat where you could slay them on a Hudd or one of mine. There are just so many baits to choose from now. Most are inferior but there are still a lot of good baits.
Bassicaly it comes down to experience and confidence and personal preference. There are very few easy answers. What makes it even more complicated is that just about every bait is called a swimbait now a days and there are a ton of guys that want to sound like experts passing out bad advise.
I'll atempt to give you a few very basic giudlines.
For the bottom you want a bait that sits upright and sinks fairly fast. Not like a rock thoughTop hook preferred). For the top you want a floater, for deadsticking and or waking(generaly hard baits). A slow sinker can also make a great wake baits(see osprey, baby E). the middle of the water is the toughest one. There are realy good choices from hard and soft. For bed fishing I dont think its even close the soft baits reign. Man I am just rambling now. You prety much have to think about what situation your going to be fishing and then determine what your best choice will be.