Контроллер:
создание через контроллер ведет все проверки которые в нем есть, то есть создание не произойдет если вводные данные не проходят проверку, знает про все зависимости и необходимости
База:
можно напихать много, проверок нет, только если чисто в самой базе есть(constraint) можно перескочить проверки не которые или условия