This isn't a real question, so I'm marking it community wiki.
When I was new to LaTeX, I thought that the \usepackage command worked much like the #include command of the C language: just put whatever you need in the preamble, in whatever order you like.
But then bugs began to bite me and I realised, with growing horror, that commutative packages seem to be the exception rather than the rule.
They appear so often that I think it would be useful to have a list here of problematic interactions between pairs of packages, and their correct order.
Also, a question for amusement:
I want to know if there exists three packages A, B and C, such that A has to be included before B and B needs to be included before C, but C needs to be included before A.
\usepackagedoes work like the#includedirective, and if you could overwrite existing definitions in C, you'd run into the same issues that LaTeX has. – Philipp Sep 15 '10 at 09:42fooand packagebarboth redefine two commands,\jediand\sith, and you wantfoo's\jedibutbar's\sith, then no order of package loading will get you both... – Seamus Sep 15 '10 at 10:51