Suppose we have a character (AI character) that has some animations(run,walk,idle,attack etc) and
states (patrol,attack, chase etc) , Is it better to use animator controller (mechanim) to control animations and implement our own scripts to control states like interface approach?
Mecanim is better than rolling your own, unless you have some very specific scope that needs a specific interface that mecanim specifically does not provide.
Good reference material in this thread.