Varchar(max) is for columns with data > 8000 characters. If you have a column with max 500 characters, that's a varchar(500).
Same reason we don't use bigint to store numbers between 0 and 100, etc.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability