If we let Marion's contract expire, how would we be able to make a major trade?? I assume you mean a sign-and-trade...
That might not have even have worked either. You would have to assume that another team was wiling to pay Marion the max besides the Suns at the time.
I agree that letting him expire made no sense at all. You let a player walk and get no value in return. Not to mention that even if you had Marion's cap space, high impact free agents rarely switch teams unless it's a trade. It's a big assumption to assume the Suns would get one at all.
Letting guys walk in the NBA is generally a really really bad move because a free agents original team can always pay a player a higher salary which means there is little incentive to leave unless you want to leave a ton of money on the table. If a high impact player wants to really leave nowadays they usually demand a trade.