1) If you want decoupled code, you want to use POJOs and you want services added when you want them. (There is a lot more, just wanted to post quickly, sorry)
2) iBatis will map one query to an object. ORM tools like Hibernate has a lot more to it than just mapping. It has object Query language, Fetching strategies, Inheritence mapping, first and second level caches to keep tracki of changes to automatically update them in the database for you, also second level cache to help stop always having to do a trip to the database, so it can speed up your application, and transaction management among many other things above iBatis.