Paul Randal writes about and demonstrates the workings of the transaction log.
Some reasons why your transaction log will not or is not shrinking.
A query to see why your log cannot be reused and is stopping the function of your database
The meanings of log_reuse_wait_desc are shown in the msdn article linked to above.
And finally, some steps for what to do when your log is full.