Banning Ip addresses can cause no end of problems. It might be the most fool proof method but it is too risky in blocking legit connections.
Actually, if you put some research into it, you can tell something about the IP address. I run a small forum with almost no real activity, which currently acts more as a spam trap. IP addresses are assigned to entities in blocks. An address might belong to a block which belongs to a consumer ISP. In this case, yes, it's risky. On the other hand, the address might belong to a range that belongs to a data center. In this case I generally block not only that IP, but all of the ranges I can find belonging to that data center. I've noticed that a provider by the name Ubiquity Servers are hosting a few servers that are used for spamming forums.
Another thing one might try is to ban TOR and other proxies, at least from doing some things. Or, requiring an extra captcha or so to be filled in when registering a new account over a proxy. However, I wouldn't generally advise banning proxies without putting thought into the decision since some people in some regimes might rely on them to connect to the outside world.