Coinbase definately fulfills a role, especially for when you introduce new friends or family to Bitcoin, it's IMHO probably the easiest and most user friendly place to buy and I think they are a pretty decent company. Every exchange has complaints about it from kracken to poloniez to bittrex. personally I use coinbase and bittrex but seems like people really hate on Coinbase.
I just recently finally started taking an interest in how you can play the arbitrage game between exchanges