One of the great things about FileMaker Pro is that you don't have to be a professional developer to build some highly functional, useful solutions. In fact, many people who make their living doing FileMaker Pro consulting started out by being experts in a completely different field, and first turned to FileMaker Pro to create solutions for their organizations. Many of those professional developers will tell you "don't build it if you can buy it," when it comes to a solution for a common business need. Not that they don't want your business, but an off-the-shelf product has the advantages of being thoroughly tested, most likely has tech support available, and you can also upgrade it easily as the vendor releases future versions.
However, when software companies produce a commercial product, they maximize their profitability by meeting the needs of the industry in general and not those of a specific company. Features that have limited appeal won't be incorporated into the product, because the cost of including them outweighs the benefits (potential sales). Chances are good you'll have to change your business processes to work around the missing features that would otherwise make the product perfect for your organization. Although the commercial software companies may customize the software for you, the fees may be prohibitive.
An alternative is to develop the solution in-house. This approach works well when the organization has a skilled FileMaker Pro developer on staff who can design and develop a solution. Whether this person has the time to devote to a solution development project above and beyond his usual workload is another question all together.
As you probably know, most organizations have limited resources. Whoever is given the project will probably have other job responsibilities, so the development cycle will be longer than a person working full time on the project. Secondly, many in-house programs are developed by a staff member who may know a lot about FileMaker Pro, but not have the technical expertise to build an integrated, scalable solution. The result often won't work satisfactorily and, because of design errors, it may not be possible to get it to work without starting over. Finally, and most importantly, this approach takes the in-house person, and all the resources to support the project, away from what he does best.
Historically, the companies that develop their own solution reach the "we can't go any further!" point in a year or two, then bring in a custom developer to finish it. In such cases, it's almost always going to be quicker and better to start over, which means all the time, effort, and resources invested thus far have been wasted. The custom developer builds the solution from the ground up, fulfilling the organization's needs and minimizing operational changes. The result is software that fits into your organization without changing the way users do their jobs. When done correctly, the only difference should be a far more automated and faster solution. The custom developer can design the solution so it's easy to change as business needs change; the only limitations to those changes are time and cost. Users always have wish lists, which likely contain items that are impractical. It's the developer's job to explain why some requests aren't feasible and to provide alternatives or compromises where appropriate.