Because writing the boilerplate that hooks up the DB to an ORM Model to a ViewModel to a Router and then back via a Controller to the Model to the DB again sucks? A lot of the times it's equivalent to writing manual getters and setters except it's many many lines of code over many files... No wonder people are trying to cut corners!