What are the categories of a transaction, and what do they mean? I've only seen "receive", "send", and "immature". Are there other categories that I'm missing? And what do they mean? It seems that "receive" means a transaction that gave our account coins, and "send" means we gave someone else coins.
What you are seeing is not an inherent property of a transaction but how the transaction looks to you at the current time and how your Bitcoin client wants to display it.

A transaction contains inputs and outputs; if the transaction is considered a "send" or "receive" (or "transfer") depends on which of the input and output addresses are in your wallet and considered to be owned by yourself.

An "unconfirmed" transaction is one which is recent enough to not be considered a canonical part of the block chain.  Once enough blocks have been added to the block chain after the one in which your transaction is recorded it will be considered confirmed.  The number of blocks depends on your Bitcoin client.

An "immature" transaction is a generation transaction which is not old enough to be made available for spending.  Under the current specification a generation transaction must have at least 100 confirmations before it can be spent.