Great question! I'm actually writing a lengthy blog post on this topic, but it's not published yet. Until then, I think Piotr Solnica has written some really good takes:
And please pardon the self-promotion, but if you're a Rails guy and I can convince you to give Phoenix a try, I hope I can also convince you to try my course on the topic: https://phoenixonrails.com/
https://solnic.codes/2016/05/22/my-time-with-rails-is-up/
https://solnic.codes/2016/05/30/abstractions-and-the-role-of...
https://solnic.codes/2015/06/06/cutting-corners-or-why-rails...
(See also this old HN discussion about the first link: https://news.ycombinator.com/item?id=11749203)
And please pardon the self-promotion, but if you're a Rails guy and I can convince you to give Phoenix a try, I hope I can also convince you to try my course on the topic: https://phoenixonrails.com/