Because coins and notes are legal tender. If a bank imposed the limits by itself you could argue that they had refused reasonable payment and therefore they could not pursue the debt. By having the Bank of England regulate the maximum amounts the high street banks can legitimate refuse payment above these limits, but you would still owe them the debt.
I don't know how this works with depositing cash into your own account.
I believe that it only applies if you're paying a debt thus there's no problem with traders dropping £3000 in pennies on the bank counter at lunchtime.
Of particular note is that there's no requirement to give change. Bear this in mind when you dash into the newsagent and hand over a tenner for a Mars bar so that you've some change for the parking meter. The newsagent would be entitled to drop the tenner into the till, say "Thanks" and move onto the next customer.