I am sure they are using mySQL or MS SQL to serve this site. I am not knowledgable of these progs. However, I do know MS Access which is what I serve my personal site with. In MS access there are "text fields" and "memo fields." A text field may only contain 255 characters, but a memo can hold infinite.
A memo field takes more space and is buggy. For instance when you make the call to the database from the web site the record set can only be used once. So if you pull memo field "memo" from a table named "example" to a record set rsEXAMPLE, then you retrieve the contents of "memo" using rsEXAMPLE("memo"

. If this occurs more then once in a page or any included pages then you get an error and NONE of the page will load. If it is only there once, but in a loop you still get an error. A simple work around is to make a variable equal it:
tempVAR = rsEXAMPLE("memo"
this sucks because it costs an extra line of code and another variable. Plus in the SQL statement where you call the database "Select xxx, xxx, memo from EXAMPLE" the memo field must be last or you get an error.
All these little annoying factors plus as already said about not wanting to use 2 bytes is why to limit to 255. I would rather deal with a text field then a memo field any day of the week.
I drive my site off a template page called "default.asp" then I send it a query string. So for instance my hobbies site would be /?hobbies. Since I set "default.asp" as the default site you don't have to type it in. Then I use the query string to grab the "hobbies" row from my sites DB. It grabs 6 different fields for each page then loads them into the template with the page "inspecific" stuff staying the same. The left side menu, main body, and right side boxes are memo fields. The status of the site logo, the header, & the <title> tag are text fields.
-Ryan