Here are some points to consider when deciding between a commerical, off the shelf (COTS) system and custom development:
Is a COTS system available that meets most of the requirements?
(If yes, a COTS system may be a good option: (Avoid reinventing the wheel))
If so, is there a fully exposed API available?
(This is essential to integration / customization)
If so, is the source code available?
(This is essential to deep integration / customization)
Is the system designed to meet a core business function / create a competitive advantage ?
(If so, custom development may be a good option: See Joel Sposky's: In Defense of Not-Invented-Here Syndrome)
If so, will custom development allow for code reuse in future / other systems?
(There are many advantages to reusing existing code)
What is the TCO for the custom application vs. the COTS product?
Are there time constraints that could not be met with custom development?
(If yes, a COTS system may be a good option)