There are several different types of software out there.
- Messing around software, where you make your tracks using pre-made samples and arrange them as you please. eg. Dance Ejay.
Thats fine if you want to mess around and have fun but rubbish if you want to create your own creations.
- Buzz. Used by James Holden, this freebie is great yet needs practice to get used to it. Check it out here:
http://buzzmachines.com/ Its totally free and is a software synth.
- I use Propellorheads Reason. It is more advanced but is quite good to begin with too as it is something you can use over time to get better and better. Its how you use it that determines how good it sounds. It is a full studio in one that contains sound banks, and also lets you play music within the sequencer. It costs quite a bit and takes some time to get things sounding great, but I reccomend it.....especially if used with a midi keyboard too as its a pain making music with a mouse.
More info here:
http://www.propellerheads.se/