Have you stumbled upon the fantastic WinAPI?
learnwinapi.wordpress.com
This tutorial written by a friend of mine explains a lot of the mess that is winapi. And he'll answer any questions you have
A "message" is a generic idea. The problem is that each "message" represents a specific piece of information: a key was pressed, a window was moved, etc.
Each event has specific information attached to it: which key was pressed, etc.
The arguments to the callback function are integer values, but they can be interpreted (or typecast) to the actual type of thing associated with the specific message.
The names "WParam" and "LParam" are about as unimaginative and generic as it gets.