If you go to any site or any webapp, there's a 99% chance that buttons in its UI are not done right. They don't have states or don't have enough states, which is extremely confusing to users (yet, users, of course, got used to that too).
Buttons should, most of the time, have the following states:
Another consideration is that with a flat design, it's rather difficult to express state (3). Which is probably fine. We also probably don't always need (4) - for example when no requests are being made and clicking a button results only in some frontend action, like manipulating DOM or displaying some sort of message.
The takeaway from this is: be conscious of your buttons. They are one of the most important components of the website not to be ignored. Always consider that you'll need all 5 states of a button and make sure the designer (if you have one working on your site/app) knows about it and creates all button states.