Dog fooding is certainly one way to develop software, and I respect enormously the companies that do it, but "software for software developers" is a rather small subset of e.g. B2B software.
I don't use Appointment Reminder like my customers do. I can't, because I don't own an HVAC company with 200 appointments this week. I suppose I could force myself to use it for e.g. reminding myself of my own appointments, but that's so drastically different from what my customers care about that it would corrupt the whole product if I started adapting it to my own requirements.
Dogfooding doesn't have be limited to "software for software developers." A lot of it is "software for software businesses" or "software for problems which occur in software businesses, but which are not unique to software businesses."
Any of the above is probably "dogfooding" for small companies where people wear many hats while having lowish internal firewalling and power disparity. It's often much less useful at a BigCo where the product team may never see the internal users without scheduling a meeting in advance, and where fixed development schedules and internal politics are creating design lock-in.
Also keep in mind that, for every story about dogfooding improving product quality, there are others about dogfooding creating a runaway blind spot because the company confused the needs of internal users with the needs of customers. Internal use can be a useful resource, but it can't replace customer research.
I don't use Appointment Reminder like my customers do. I can't, because I don't own an HVAC company with 200 appointments this week. I suppose I could force myself to use it for e.g. reminding myself of my own appointments, but that's so drastically different from what my customers care about that it would corrupt the whole product if I started adapting it to my own requirements.