This is widely known and inherent to how hardware encoders work. They are limited by complexity and cannot be improved after they are manufactured, so most of the focus for them generally goes into real time applications. You can check out the blog for the x265 software encoder if you want some examples of the sort of regular improvements that get made:
The reason these sorts of improvements are possible is because most of the power of a video encoder doesn't come from the container format but rather how effectively the encoder selects data to keep and discard in keeping with that container format. There is also a LOT of tuning that can be done depending on the kind of content that is being encoded, etc.
For high end work basically nobody uses hardware encoders on the final product.