В идеале, думаю, если работаете с ASP.NET MVC в нескольких проектах, в итоге просто придете к тому, что будете все определять/переопределять в собственном классе-наследнике HttpApplication. А потом уже просто его наследовать для конкретного приложения в global.asax.
Уже интереснее. Только не совсем понятно из статьи зачем IoC использовать. Сценарий отсутствует. Давай следующую статью про custom IViewEngine и сценарий посложнее.
если коротко, для того, чтобы автоматом поднимать репозитории/сервисы в контроллере на базе конструкторов контроллера. То есть реализовав фабрику на Unity можно сделать так, что инстанцированный объект контроллера будет иметь без строчки кода десяток поднятых репозиториев и сервисов.
Ставим точки в MVC Framework. Фабрика контроллеров