Mmmm... when I enter in KFC.com, I'm not automatically redirected to Spanish (my language accordingly to IP... as if it was a user agent on browser detection, being my browser set up to English, I would have not seen the option hover selector).
I think that that's a good use of IP detection, because it doesn't involve an automatic redirection to the most "presumed" suitable version of the site. That, in fact, would be a problem because googlebot, having an American IP, would be endlessy redirected to the US version of KFC.
Then, if you want to use subdomains (as KFC does), or country code level domains or subfolders, that's something that only you must decide over the base of business questions more than SEO ones:
- do you have enough presence and visits from the targeted country so to justify a ccTLD? Yes? Go for it. No? Consider subfolder or subdomain;
- do you have an Ecommerce and, therefore, you have a very complex dbase of products, must deal with very specific country laws about whatever thing (i.e.: products you can't sell, products that may have a special legislation in a given country, VAT issue...). If it is so, then consider the ccTLD or the subdomain option
- note that 2. is also valid for any huge website. Subfolders, in fact, can be the less optimal solution from a technological point of view when it comes to multicountry
- You site is not so big and you want to "test" the success it may have when targeting other countries/languages or, maybe, it is still not so strong in terms of visits and conversions from other countries than your mother one, than subfolders possibly are the way to go.
For everything else, then, look at the Aleyda checklist Matt linked in his answer.