It's important to know when to use an existing, 3rd party software, and when to build your own from scratch.

3rd party software can help you launch quickly, but can cripple your site if you need to scale or make significant changes.

Custom-building your functions can ensure every single need is met, but can result in a costly and time-consuming development process.

Careful consideration along these lines must be given to each functionality.