Dogfooding is useful certainly but it can also be a trap, as someone who is technical and knows how the software works both sides you can fall into the trap of avoiding triggering the exact kind of issues a regular user can walk into.
Your conceptual model of how things work is going to be different to that persons and it is a very hard trap not to fall into.
Indeed. Some of the worst software interfaces I've ever dealt with were fully "dogfooded" and that was the cause; the people writing the software did use it every day but (a) in a very idiosyncratic way and (b) in a specific, very constrained environment.
The devs did use the software, but used it in such a different way from everyone else that when the devs optimized for their own case, it made the software actively worse for everyone else.