To my knowledge (and I am far from a mod) a gag doesn't block an ip address, however it does block the name and the email address from which it comes. An ip ban will block your ip address, all of the names used on that address, and all of the email addresses that were registered with those names.
If a person deletes their account themselves before a gag or an ip ban, yes, someone else can use that name. However if the person is gagged and/or ip banned, that name is now locked out of the system and can no longer be used by anyone else.
Personally, I think it's best that the account names be blocked as well as the email addresses, as the person causing the discomfort could simply come back with the same name. At the same time, another unrelated person could accidentally use the account name of a person whom caused discomfort, and this unrelated person would be thought of as trouble for us from the moment they logged in. I think the current system is the best system.