When you store data to a VARCHAR(N) column, the values are physically stored in the same way. But when you store it to a VARCHAR(MAX) column, behind the screen the data is handled as a TEXT value. So there is some additional processing needed when dealing with a VARCHAR(MAX) value. (only if the size exceeds 8000)
Varchar(n):-
1)Non-Unicode Variable Length character data type.
2)It can store a maximum of 8000 Non-Unicode characters (i.e. maximum storage capacity is 8000 bytes of storage). Optional Parameter n value can be from 1 to 8000.
3)It takes 1 byte per character.
Varchar(max):-
1)Non-Unicode large Variable Length character data type.
2)It can store a maximum of 2 147 483 647 Non-Unicode characters (i.e. maximum storage capacity is: 2GB).
3)It takes 1 byte per character