General MIDI is different from MIDI.
MIDI is Musical Instrument Digital Interface, and allows keyboards, synthesiser modules, and drum machines to be connected together. You can actually connect more things, but I can't remember all the differences.
Differences is where General MIDI comes in. GM defines a standard set of sounds, so a MIDI file written for one keyboard will sound the same (or similar) on a different synth module.
Nearly every MIDI device made is GM compatible, and Windows supports it fully.

Things you can do: Record yourself playing and multi-track it, play along to backing tracks, etc.

Software: Cakewalk (sequencer, very easy to use), Cubase (sequencer, more powerful but very steep learning curve), Sibelius (expensive and mainly for typesetting, but very good for composing).

Check out http://www.midi.org for more information.