http://utf8everywhere.org/
It has a good explanation of the issues and problems, and how these things came to be.
This is pretty much in line with my current (!) opinion on Unicode. What it means for us is I don't think it is that important anymore for algorithms to support strings of UTF-16 or UCS-4.