Just one other thing about Canon. Lots of people say that Star Trek and Star Wars violate their own canon. The problem goes like this: Worf says "A Klingon would never allow himself to be captured." Later, Worf gets captured. What a violation of canon!
This is rather silly. Just because Worf says something, doesn't mean he can't be exaggerating for effect, for example. Essentially, whenever someone says something that's later contradicted, it can be chalked up to a lot of things other than a mistake of the writers.