Whatever the FUCK you use, it really don't matter. Just make some good $hit!, that's all it comes down to. Sound is Sound, it really doesn't matter where it comes from as long as it sounds good.
The only reason Software gets knocked so hard is because SO MANY people can get their hands on it (it's cheap or you can pirate), therefore there's bound to be a wide range of users, ranging from novice to expert. However since it's so inexpensive and or you can find pirated shit, software is usually the first thing novice users are going to pick up and unfortunatley it's the novice users that are the ones "showing off" their songs on Myspace, SoundClick, Youtube,... so they create that bad image for software. Fruity Loops is a major victim of this IMO. Since software is typically the first route novice users choose, that still doesn't mean it's a bad decision. I personally love software, I used to fuck with my bros MPC 2000, BOSS drum machines, Alesis Drummachines, I mean yeah their cool, but it's nothing I can't do with FL Studio or other software. I think it was just a big waste of money for my bro because he never really got all into it either. Why struggle, when you can have everything within your computer, in a nice organized, visual environment. I guess there's also the misconception that since software is so inexpensive or free, it must suck. That's completely wrong though, the only thing the software code is doing is telling the CPU how to create that particular sound, just as analog circuitry does. Yeah analog circuitry might create that coloration and sense of imperfection (which the human ear tends to like), but that doesn't mean software code can't emulate it. Software is a powerful thing, no matter how simple it can seem. A combination of both Software and Hardware is the way of the future. You can't go wrong with both.
Don't get me wrong, hardware is great, but for the average beatmaker, I think it's a risky thing to get into you. I think you REALLY have to THINK out what kind of setup your going to have. Otherwise it could be one big mess and waste of money. Atleast with software, you have a bit more freedom to experiment. Not to mention, software usually integrates very well with other software.