The advantage of unit testing modular code bases is that you don't have to test every program state, you just have to test every module state.
There is a huge difference in the feasibility of 100% code coverage if you need O(2^n) vs O(n) tests.
Even if your modules are highly coupled you should be able to mock away external dependencies and side-effects.