Short advice. Per-User bandwidth contracts for guests are the way to go. Quite frankly, you should NOT use bandwidth contracts if you have adequate internet bandwidth. Your guests will love your for it
Traffic Management profile are intended for use in a multi-tenant situation where you have multiple customers who use different SSIDs you want to guarantee one customer a certain percentage of the bandwidth over another.
With that being said, many people configure bandwidth contracts and Traffic management profiles and forget. Later when they try to troubleshoot drops and performance issues, it is hard to determine if traffic management, interference or congestion is the culprit.
Long story short - If you have adequate internet bandwidth, do NOT use bandwidth contracts for your users.
Traffic Management profiles make it harder to troubleshoot performance issues and should probably not be used in combination with any other bandwidth shaping function.