AS Pete and Greg said, there are tons of options. I prefer Jamstix for some projects as it does a lot for me. I also use real tracks and real drums in Band in a Box and Real Band from PG. These are two very different processes.
In Jamstix there are several options. You can allow the program to actually "jam" along with the tracks, either midi or audio, or insert patterns and chain them like session drummer does, bar by bar, adding fills and stuff as you go.
In Real drums, you open the song inside either BIAB or RB and set the bar markers and such, and tell the program to generate a drum track, and it will do so along the lines of the song structure.
Before these I used to use session drummer, drum loops, and hand played midi drums using a keyboard.