You are required to redeploy the entire application on each modification.
Continuous deployment is difficult.
This simple approach has a limitation in size and complexity.
Application is too large and complex to fully understand and made changes fast and correctly.
Impact of a change is usually not very well understood which leads to do extensive manual testing.
The size of the application can slow down the application start-up time.
Monolithic applications can also be difficult to scale when different modules have conflicting resource requirements.
Another problem with monolithic applications is reliability. Bug in any module (e.g. memory leak) can potentially bring down the entire process. Moreover, since all instances of the application are identical, that bug will impact the availability of the entire application.
Adopting New Technologies
Monolithic applications face lot many problems towards adopting new technologies. Since changes in frameworks or languages will affect an entire application it is extremely expensive in both time and cost.