Cut Out the Old Faucet
Even with a basin wrench, it can be nearly impossible to break loose corroded nuts holding older faucets to the sink. If you don't care about wrecking the faucet, cut off the nuts instead. You can use either a rotary tool (Dremel is one brand) with a metal-cutting disc or an oscillating tool with a metal-cutting blade. Cut through one side of the nut. Then use a screwdriver to pry the nut away from the faucet body. You can also cut off other stubborn parts, like the pop-up drain assembly on a bathroom sink.
You May Need a Basin Wrench
A basin wrench is a standard plumbing tool that is indispensable for removing and installing most faucets. The wrench allows you to reach into the cramped area behind the sink to loosen or tighten the nuts that hold the faucet to the sink, and the nuts that connect the supply lines. You may not need a basin wrench if you can get the old faucet out by cutting the nuts or if the new faucet includes a wrench or some other means of installing the faucet without a basin wrench. Check inside the package when you buy the faucet to see what's required. If you do need a basin wrench, you can find one at a hardware store or home center.