The first part of this is pretty straightforward: if it’s connected to the core of your business, you should be building it. There are lots of really great examples to reference here, but my two favorites are Buzzfeed’s content management system (CMS) and OkCupid’s email service. There are lots of great CMSs and ESPs out there, but because Buzzfeed’s content is so important, and because OkCupid’s data-driven email is so critical for maintaining user activity, it’s beneficial for each to control the IP and institutional knowledge around those systems while capturing a (presumably) greater rate of positive change through reduced bureaucracy and vendor debt.
The second bit is about knowing your customer and being able to build something great. Startups have a luxury that most big companies don’t have: the ability to quickly change something that isn’t working, even if that something is really big. In the current state of digital affairs, it’s better just to get it right the first time. It’s not foolproof, and still requires a ton of work, but the best way I’ve seen for getting something “right” in the first go is to know your customer very, very well. And the best way to do that is to actually be your customer. Build for yourself.
Aside: in general, my belief is that companies/marketing departments are too focused on digital things that are directly customer-facing. Indirectly changing the customer experience (through an associate/internal-facing digital thing) makes it easier to build for yourself, be thrifty as f*ck, and to develop some cultural flow around whatever change you’re making to the organization. And it’s harder to copy.