At first understanding Cisco IOS packaging is alone a complex thing. One should always make sure to do proper research before getting it, as many of the important features are available in higher versions. Feature like OSPF in switches is supported in IP services. BGP is supported in routers above IP Voice. The below image(taken from cisco.com) is pretty nice summary and good starting point.