Interesting question. Here is my take (I have both a consulting and infra/data background):
* Yes, many companies need the help.
* However, they typically (not necessarily unfairly) have a dim view of consulting/consultants.
* They can't (or won't) prioritize stopping or slowing down feature development to make the infrastructure changes that will lead to significant improvement. Often the potential solutions are actually either known or obvious already.
* In systems of appreciable complexity, it can take a significant amount of time for a consultant to examine all the moving parts to come up with a good/reasonable set of recommendations.
* So, as a result, consultants are often only brought in when things have deteriorated to an extent where it really hard to help. One other case is upon change of control (company is sold or acquired); this might be a better point to implement change.
* Lastly, knowing what needs to be done is one thing; actually implementing the necessary changes "on the fly" is actually the hard(er) thing. Often the company's team just don't have the skills to do that. Accordingly the best results are often when you can bring in a team to both consult and help the team through the implementation/changes.