There are many different types of computer "applications" software. Whilst some is custom-designed by specialist programmers to perform one task, most is generic, providing features that can be adapted for a variety of different tasks.
An example of generic software is a database program such as Microsoft Access. This provides a wide range of features which the user can customise for specific tasks.
It is almost always cheaper to buy generic software than custom-written software.