IMHO, the excess charges of vendors at many airports are a result of a sweetheart deal between vendors and local political machines. The excess profits generated can and are used to, in part, give money to the pols.
ORD is a good example.
Keeping the prices at outside levels would eliminate this corruption. That's why it usually isn't done.