Do you build or do you buy? Pros and cons related to software, hardware and talent.
The common case, on the surface, is software. Starting there, the pros and cons for build and buy can be weighed against current business cases and a determination can be made based on specified criteria.
Some pros for buy are decreased time to production, reduced internal management and support, field tested. Of course all of these are dependent on the product, your share of their market, your contract, and the internals and stability of the vendor. The cons include unknown internals, shiny advertisements-dull product, limitations to change, dependent upon stability of vendor company. Again, much of this depends on the vendor, product, and your company's relationship with the vendor.
Some pros of build depend mostly on internals and include build to suit, future change can be supported, issue mitigation can be reduced. All of these depend on staffing and management. Work can be outsourced to a consulting firm, but you'd lose some benefit of having full internal control and domain knowledge. Cons include internal staffing and management, continued costs.
When it comes to software, I am definitely build over buy. But, in some cases products with great APIs and well known products, documentation, and support can be great!
A second, lesser thought of case is in terms of personnel. The old cliche "good people are hard to find" may or may not be true depending on your perspective, but good people are not hard to build. It just takes a good organization to build good people. Once they're built, you want them to continue working for you even if they are working elsewhere. This requires a new way of thinking about work and employees.
Pros of buy - instant ninja, do not have to invest in training programs, experience.
Cons of buy - carried over attitudes and ways of thinking (inflexible), unknown experience, no historical working relationship.
Pros of build - can tailor skills to needs, strong relationships, domain knowledge.
Cons of build - may not prove fruitful, might take skills elsewhere, takes time
Building employees must be a continuous cycle - recruit from colleges or other, training, exercising, etc. If the employee gets some buy in in the company, they will continue to work toward improving themselves and the company. Especially if they understand that the results of a company becoming more successful means that they will become more successful. That kind of buy-in (ownership) also means that employees would be more likely to stick around at their own company.
Set up the right kind of environment where people are brought up and ingrained into the organization and you will have a good thing - just keep doing it right.