Because right now we have a ton of technologies, and browsers are literally playing catch-up with the specs. There simply aren't enough browser developers to implement everything right now. This is seen even more acutely on smaller browsers with even fewer resources, like Mozilla or Opera (before they switched to Chromium). Even though specs also take a long time for different reasons, it's still much quicker to design a new feature than to implement it. Think of how long it takes you to think about what you want to code and compare that to how long it takes you to actually code it. See what I mean?
Also, since they have to prioritize, sometimes browsers hang back to see what other browsers will do. Sometimes they implement very early, but the spec changes over time so their early code ends up not being compatible with the eventual standard and needs to be revised or totally replaced (this is what happened to Microsoft with Grid Layout). With finite resources, browsers have to prioritize which features to work on next and this is where developers can have a voice, most browsers now listen to developer demand when deciding on prioritization. For example, Microsoft has a uservoice that they use to decide what they implement next: wpdev.uservoice.com/forums/257854-microsoft-edge-…