There's a saying: do one thing well . Software doesn't weight or take up space. Then there's high level programming where you sew together high level modules.
The problem is that not everyone has the same needs, and there aren't enough programmers to write special purpose software for each person on the planet. Making software customizable is a way to give users a powerful tool that can be adapted to their needs.