JSR-168 Portlet Specification

What is it about the JSR-168 spec that is so hard for vendors to implement. Too vague? Too free? What?
I just wasted the last week trying to figure out why portlets were not rendering with a particular structure. Turns out with the folder in web containing the view, edit and help.jsp files can not start with a capital letter. What the hell?