I like Provider, but one thing you point out in the article is keeping your state as local as possible. And I agree, but this gets very annoying in a simple case where you want show a dialog. You have to pass all your state through again.
To me, a dialog still feels like part of the current route. So it's annoying to have to do all that extra plumbing.