If you ask me, “Is MVC architecture a necessity?” my answer is simple, “No”. There are many reasons from my personal experience. Every architectural design pattern describes about the situations where the particular pattern should be used. It just describes the type of situation and the advantages of using the architecture but never tells the architecture that you should follow for a situation.
Web Application point of view
In .NET we have code behind files. The main purpose of this code behind files is to maintain business logic regarding a particular page at one place, to compile them only once. The intention of code behind files goes with reducing execution time of web pages. When we are using code behind concept we face problem of file organization. So, some of the companies didn’t show interest in code behind concept. Here the main purpose of designing code behind files is lost.
When organization is not ready to maintain more number of files because of their constraints then they are moving towards writing everything in DLLs and calling these functions from various ASPX pages. With this concept they are able to compile entire business logic at the time of deployment and reducing number of files to maintain.
In the above scenario the ASPX pages contains user interface controls and small code to call compiled functions (DLLs) in order to perform logical operations on the ASPX page. As there is no much code involved on ASPX page it won’t take much time to compile.
I personally feel this is one type of system architecture to get better performance. So, my sincere suggestion is, study concepts and utilize them in your customized manner.