The colors are basically random, and are there to help you tell
branches apart. Without them, it would be easy to get "lost in the
maze" on a project with complicated history. With every branch being a
different random color, though, it's easier to see where things begin
and end.
For the shapes, normal commits have circular nodes. The commit at the
head of each branch has a square.
You can adjust this stuff in the "Appearance" tab of the settings dialog.
-William