OSPF uses only bandwidth as metric (in other words, how to figure out the best path). EIGRP uses bandwidth, reliability, delay, load, and MTU. OSPF handles only IP, EIGRP works for both IP and IPX. Also, OSPF is open standard but EIGRP is Cisco proprietary.
The "better" protocol for using depends on your environment. Most organizations I've been a part of felt they didn't need all the features of EIGRP, and went with OSPF because it was a standard. Both are well supported by Cisco. It's a simply a question of what works for you.
If this post was helpful, please rate.