A keylogger or keystroke logger is a program or a hardware that logs every keystroke you make in your computer and then sends that information, including passwords, bank account numbers, and credit card numbers, to who is controlling the malware.
A hardware key logger is a small hardware device which is normally installed between the keyboard port and the keyboard. The hardware key logger then track all user keystrokes and save the keystrokes to it's internal memory. Hardware keyloggers is available in different memory capacities.
A software keylogger is a program which can track and save all the key strokes of the user in to computer. Software keyloggers are normally cheaper than hardware keyloggers. The software keyloggers run invisibly to the user being monitored and hide itself from the Task Manager and from the Add/Remove Programs. Many software keyloggers support remote installation also.