This would allow for plugins to be developed to handle different scenarios. For example, b2b will more than likely retrieve price and stock from a back end system or database that is updated frequently with stock and pricing information. Also, in b2b scenarios the pricing and possibly stock availability is dependent on the currently  authenticated customer (account based pricing).