Rolling your own is almost never the best solution unless you are creating something truly innovative. This is almost never the case for client work as they are operating in defined markets. What always fails to get factored in is total lifetime cost - writing and deploying the code is a marginal part of that