In a nutshell what happens is: I make a change (fix a bug, add a feature) and commit it to my branch (You can see all branches
here.). If Kovid approves of it and feels it's ready he will then import my changes to trunk (You can follow the progress
here). Periodically Kovid will take trunk and release it as a new version (this happens when there are enough changes or a critical fix to warrant a new version). Anything in trunk will appear in the next release.
Branches are trunk at some point in time (branches can track changes in trunk though time) plus any changes the branch owner has made. They are a way to make upcoming features that are incomplete, need testing, or could take awhile to develop without slowing down releases with other finished features.
When commenting on fixes in the forums or in bugs I like to state what release the fix will be appearing in because of how often Kovid makes them. Also, so anyone searching for a particular bug can see what version it was fixed in here or in on the bug tracker without having to look though the changes made to trunk.
When you see committed to trunk it means that the issue has been fixed, it has been included in the mainline code and will be in the next release.