What are the differences between the transaction and block versions? (v1, v2, v3, etc..)
BIP0034 added Version 2 blocks.  It enforces the rule that the transaction version is 1 (this was previously not enforced and there are some weird transaction versions in the block chain).  It also requires the coinbase transaction input script to contain the block height as the first data element.

There has been discussion about a new Version 3 block and Version 3 transaction which would enforce canonical encoding.  This would be a solution to the transaction malleability problem.  Skipping transaction Version 2 would make the versions the same once more for both blocks and transactions.

You can read the Bitcoin Improvement Proposals here.