An often overlooked aspect when developing software is error messaging. If you are building a backend to be consumed programmatically, you want there to be a code or some easy way to parse an error without having to actually match an entire error message. For front ends, you need to have a nice centralized place where error message show up. The messages themselves have to actually make sense to the user so that they can know what to do next. Shortcuts taken during development like generic error messages can lead to a very confusing user experience.