When you need a new application you have two choices: buy the application or write (possibly hire more programmers) the application.
To buy an application you have several considerations. First of all, you need to find the app that most closely matches your needs. Then you need to have the software demoed for you which can involve sending the people involved to a vendor's site or possibly even to a site where the software is currently being used. There is probably no application that will exactly meet you needs so, once you decide on the package that comes closest, you will need to talk about customization - either with the vendor or with your own programmers.
If you decide to have it done in-house, you will be able to get exactly what you want. New screens and reports can be shown as they are designed, databases can be modified on the fly, and, at the end of the process, you will actually like what you receive. When you finish you will have the expertise and knowledge to continue to develop the app. The downside to in-house is that your house may not have all of the expertise on hand to do this correctly - you may need to hire an additional programmer/contractor or two.
With all of these considerations it is up to the decider to select which one makes the most sense for that particular application and company.
Another factor is the cost of maintenance, closely related to how much core business is in the software.
Do you want to maintain the software over the years? If not, you might want to buy one instead - even if not perfect.