Everything must be approached with a balance of ideal and practical. Every project has its limits in budget and development time. WordPress gives us a great leg up, a great base point for starting a custom project. From there, I have a shortlist of plugins that I have personally tested and found to be strongly useful and reliable. Whenever possible I solve problems using these solutions because they provide the most efficient use of time and money. However, often times there is not a reliable plugin available for a certain need, and at this point, I build custom solutions that and simple and straight to the point.