"knowing the business" or "being the best in what you do" would save one's derriere
Except that it won't, except in very special circumstances.
Let's be honest here: Most IT jobs - being a sysadmin, writing software, setting up a network - are not complicated. Most systems don't need much other than some some packages and configuration handled by something like Puppet. Most software doesn't do anything remarkable - it just shuffles data from point A to point B and displays a few things to an end user. Etc., etc.
A vast majority of IT jobs only require mediocre skill and knowledge. Most H1-B folks I know have rarely been mediocre, but they ARE cheap and management doesn't know the difference anyway. All they know is eventually their widget does the new X they've been asking for. So what if the code is a terrible mess and deployment is a gigantic pain? The management doesn't see or care.
Knowing the business? That's what project managers and other management-y types are for (or so they think). You and I know that a software engineer who is well versed in a certain business will design better systems, for example, but I've not once seen a manager that believes this way.
Management sees IT staff as nearly a commodity with people easily interchangeable. They're not entirely wrong - not entirely - but they think they're not wrong at all.
Remember: It isn't what YOU think that is important when a company is doing the hiring. What is important is what THEY think and how cheap they can get you and how much they can work you before you burn out.