“ real-world applications pretty much ~never~ are satisfied completely by out-of-the-box solutions.”
This is a fallacy. If a business cannot find an out-of-the-box solution for something, it’s because (A) they’re pricing too low, (B) they don’t know what they need or (C) they’re too picky.
Someone has ALWAYS solved your problem. Whether you realize it or not, or you accept them or not.
If your HR users reject ADP *solely* because of cost, they’re doing it wrong.
If your IT users reject Microsoft *solely* because of cost or bias towards Novell, they’re doing it wrong.
If your Finance users tell you to code an expense management system rather than just buying Concur because they don’t like that Concur is cloud-based, they’re doing it wrong.
If your service users reject your ECM or BPM solution because “it’s blue, not red”, they’re doing it wrong.
Ultimately — if you’re coding simply because your users are nitpicky, you’re wasting money AND time. Totally your company’s discretion, but a good IT audit would likely yield 6 figures worth of waste in a year.