The major downfall to each is …
IR can have issues w/ colors and some surfaces and sonar can have problems with narrow objects. One book I have read commented that a robot’s senses should degrade gracefully. Given a chance depending on your environment using both types along with touch and possibly even sensing motor stalls would be preferred over 'putting all your eggs in one basket.'
just my $.02