[model-view-controller] What is MVC and what are the advantages of it?

One con I can think of is if you need really fast access to your data in your view (for example, game animation data like bone positions.) It is very inefficient to keep a layer of separation in this case.

Otherwise, for most other applications which are more data driven than graphics driven, it seems like a logical way to drive a UI.