18to88 did a good job of explaining the mechanics of a re-worked contract for Marvin.
By keeping Harrison under contract, the Colts don't have to account for the whole $7 million he's owed all at once. They can divide it up over the life of the contract. So, if they redo a three year deal with Marvin, the cap hit would be $2.3 million ($7 Million/3 years) PLUS whatever salary they negotiate with him. So, if Harrison agreed to play for $2 million a year, his cap number would be $4.3 million next year instead of $7 million. Yes, that's right, by paying 88 an extra $2 million, his cap number could DROP by about $2.7 million.
The reason why reworking Marv is by far the best option is because of the concept of sunk costs (yes two econ concepts in two days).
In economics and business decision-making, sunk costs are costs that cannot be recovered once they have been incurred. Sunk costs are sometimes contrasted with variable costs, which are the costs that will change due to the proposed course of action, and prospective costs which are costs that will be incurred if an action is taken. In microeconomic theory, only variable costs are relevant to a decision.
If we assume keeping Marvin for his full salary isn't an option (and tht he won't accept a pay cut of over 4 million) then the 7 million it would cost against the cap to cut him can be treated as a sunk cost. Whether they cut him or rework him he will cost at least 7 million towards the cap. So we set the 7 million aside. They can't do anything to prevent themselves from having to pay it so it shouldn't factor into their decision making. With the 7 million set aside every dollar over 4.7 million that Marvin would get in a reworked contract is 1 dollar against the cap. So the Colts should offer Marv a reworked deal for however much they feel he's worth for this season, plus 4.7million in salary for this season.
A deal might be worked out that only reduces Marvins Cap hit to 9 million. Everyone would say, Marv's not worth 9 million at this point in his career, but the deal would be a good one since they are really only taking 2 million against the cap in order to have Marvin Harrison on the team.