It seems like most people are leaning towards creating single ModelViews for each view (Thunderdome Principle) in lieu of stuffing in weakly typed items into the ViewData dictionary.
So, with this in mind, for what tasks should the ViewDictionary be used for then? Really small one-off views? Don’t use it at all?
Never, keep everything strongly typed. Helps with refactoring, that enough is reason alone.