In our society the mfg's have to design to the worse instance. Roads have very low speed limits so that an old codger driving a Winnebago won't go off the road on a sharp corner while doing the speed limit, even though the typical family car can easily handle it moving 20 mph faster. Honda (like most motorcycle MFGs) have their speedometer off a bit planning for the worse combination of factors. Things which affect the accuracy of the speedometer are tire brand, tread pattern, tread wear, tire temperature (tires swell a bit when warm), speed (tires swell a bit when turning fast), and other factors. Each factor has a very small affect, but hit the right combination of factors and you can throw a speedometer off by a fair amount.
Now throw a lawyer into the mix. Get a ticket and prove the speedometer was reading a bit too low, and Honda will hear about it. As someone mentioned, have an accident where there is a death or injuries, because you were going too fast for conditions, and Honda will pay.
I know my speedometer is off by a bit but I have no desire to correct it. I don't even think about it most of the time. It may very well have saved me a few performance awards when I thought I was doing 15 over, but was actually doing 8 over. That isn't saying I agree with the speedo being designed to be off, just that it has happened to work in my favor before.