One persistent source of ambiguity is the arrow from the controller to the view. I've seen so many implementations that take this to mean that in response to a user action the controller modifies the model and updates the view, rather than letting the view observe the model.
My understanding of that arrow is that the controller may send messages to the view.
I think there's different approaches. Apple, for instance, approaches MVC that way (controller updating the view, with the view having no knowledge of the model).
Right, there are different ways of doing it. In general, an arrow/line between Controller and View is better understood as "there is some type of communication"; then, different variations of the same design will use different forms of communication (observers, data binding, the controller references the view, the view references the controller etc).
One of the main differences between Client/Browser MVC and Server MVC is application state. In the browser you have state. In the server, since HTTP is stateless the server app too. Probably a good topic for an article of its own.
My understanding of that arrow is that the controller may send messages to the view.