I'd speculate that their overuse comes from convenience of displaying any message by throwing in a `showToast("Foo!")` opposed to altering each UI component to show the relevant feedback.
That cuts both ways IMO. At least with a toast system I know where feedback appear on a per app basis (or website or whatever). Imagine if every screen, view, list entry, checkbox had its own way of displaying feedback. It would be an enormous amount of overhead.