It is certainly better to have your functions in a single place rather than copied over and over again into each script where they are needed. Whether or not they should all be in a single include file or separated into multiple files is more problematic, and can only be answered on a case by case basis. You might want to group functions that are related to a particular functionality into their own include file, which you then only need to include into those scripts that require that functionality.
Of course, once you start doing this, you are only a step or two away from being ready to jump into object-oriented programming, creating classes which include methods (OOP for a function within a class definition) that are related to each such class. 🙂