Lots of older databases had fixed length fields, and you had to pad it if it was smaller. VARCHAR is a relatively new thing. So it's not just saving space, but that old databases tended to force the issue.
Nobody has an excuse today. Even Cobol has variable length strings.