Mix presentation and content
Limited user interface widgets
No client side validation
Round trips to server required to do anything significant
No data type aware controls
Excessively simple data model: a list of name=value pairs; all values are strings
Limited to browser environments; not good enough for rich user interfaces