Route poisoning is used to prevent loops when you run DV protocols like RIP. instead of the route being removed from the routing table, it is advertised using an infinite metric of 16. This advertisement forces the route out of other router's tables because a route of Metric 16 is considered unreachable.
If poisoning was not used then the route would be advertised via a different router which would then propogate invalid information around the network.
Split Horizon says that an advertised route must not be sent back out of the interface it was learnt on. Yes, this does prevent loops but there are situations where you NEED to have advertisements sent back out of the same interface ie VLANs.
Also, Split Horizon wont cure all loops on its own especially if there are a number of routers in the network because they could still transfer bad information if a link goes down.
Regards
Mark