I've used a hole bunch of programs, keyboards synths etc. So far the easiest to use is honestly garage band. It's somewhat limited as to what you can do but to lay down your samples it sure is easy. To create samples you have to get creative and be VERY precise using audio tools. I used rebirth back in the day to create some sweet blippy 1995 techno in high school, but that sounds just awful for today's standards. Check out Reason 3 and Fruity loops and Cakewalk. That should keep you plenty busy for a while.
Also, download Audacity - it's an open source sound editing program that allows you to snip up wave forms to your liking. Remember, samples need to be seamless when repeated if you want to use them for any sort of beat/percussion. Practice and get a good set of headphones.
If you're looking at making tracks and not spinning, you can just get a decent mixing to play with and run things through effects...although most of those programs will have effects built in.