To the other 2 good comments from j and Behrad Khodayar I would add the following:
I don't think it comes to personal preference, but more to be able to fit our own code into an existing project.
An example would be the use of existing modules (classes, functions) instead or re-writing some basic functions.
Or even putting the code at the right place. I have seen some "patches" in main controllers but this should have been separated into a new container and simply called from the controller (like all other functions that controller calls...)
Let's say consistency is key for maintenance later.