It usually means that the original object code can be used as-is, but sometimes re-compilation, or some similar step, will be needed.

One early, famous, example was the IBM System/360 line, in which it was a deliberate design goal that almost all the various CPU models were program compatible, so that a customer whose processing needs had grown could trivially upgrade to a more powerful model.