The rules that build an order's shipping cost and tax at checkout.
The more specific zone wins
For any destination the more specific zone is chosen: one that names a state or postcode beats one that only names a country.
So covering a particular province needs no change to the country-wide zone — just a more specific zone alongside it.
A destination in no zone ships free
If no zone matches the destination, shipping is calculated as zero — the order is not refused.
This is the usual answer to "why was shipping free?": a destination nothing covers. If everywhere should be charged, create one broad zone as the baseline.
The buyer does not choose the method
Among that zone's enabled methods, the first in sort order is used. No list of options is shown at checkout.
Which makes the ordering the real decision: whichever method should be the default goes first.
A shipping class is a surcharge
A shipping class on a product ("heavy", say) adds a cost to a flat-rate method. That cost either applies once for the order or is multiplied by the quantity of items in that class, depending on how the row is defined.
Items with no class form a group of their own, matched by the row that has no class set.
Tax: one rate per priority level
For a destination, only one rate applies at each priority level — the first that matches. Rates at different priorities add together.
A compound rate is calculated on the amount the earlier rates have already produced, rather than on the raw total.
Each rate can also decide whether shipping is taxed.
An asterisk matches everything
In the country, state, postcode and city fields, * means "any value". A rate that is asterisks throughout matches every destination — which is exactly what a country-wide baseline rate wants.