First I'm a computer guy and an asterisk guy, I don't know much about analog PBX's although i've worked with them a few times...
Skimmed the thread, few comments...

First- Asterisk by itself is like a big tub of Legos. You can make something very cool with it, IF you know what you're doing. If a project is to from scratch set up an Asterisk install to do (features), how well that will work is very dependant on how familiar the tech is with *. Unlike a normal small biz PBX or key/hybrid where you can fill out the programming sheet and then follow a procedure to program it, Asterisk must be created uniquely for each installation, down to even the simple stuff like making one extension dial another. For someone that is new to *, this can be VERY frustrating. Additionally, simple features that most PBX's have must usually be added by hand to the dialplan. This turns a lot of people off Asterisk; it does not seem useful to have to sit and set up manually 'features' like the ability to dial out when you can buy a PBX and plug it in and be done.
However Asterisk's great weakness is also its strength, because the legos are not glued together like a PBX, you can make literally ANYthing you want. There are no limits to number of ports, number of extensions, or how much voicemail can be stored, you are only limited by the machine it is running on. Never will you have to pay more money to license more voicemail ports, for example. And the classes of service Asterisk can provide far outspec any PBX you can come up with. This is how asterisk got its name- in computer terms, the "*" character is a wildcard, which means it matches any '0 or more characters', aka * matches anything. Asterisk is much like this- it will accept a call on almost any sort of interface and protocol, do almost anything you want to it, and spit it out again on almost any other interface. It is the ultimate in flexibility.
That's not to say its perfect. Its complication turns off many users, and to address this need packages like Trixbox have sprung up. Trixbox is a full *nix distribution (operating system) that installs itself from a CD. In about 30 minutes, it will take a normal computer and turn it into a somewhat slick PBX with a web interface to configure it and all the trimmings of a normal PBX, no programming required. Many companies are selling the same thing as PBX appliances, sell a machine with asterisk+stuff on it as a pbx unit and are making tons of money doing it.

I have worked with Asterisk since before v1.0, hell even before there WERE version numbers (you just checked out the development code...). I have found one, and only one feature that Asterisk cannot usefully do- SLA (Shared Line Appearance). This is how (on a key system or hybrid), you have a LED button assigned to an analog line. If someone uses the line, it lights up. If you push that button, you barge in on the line and are now 3waying with the guy on the line and the other user who called him. Asterisk has yet to develop (that I know of) a useful way of doing this. However due to large demand (more on that below) it's planned for inclusion in their next major release (1.4).


Back on topic of the thread...
Many of the IP phones out there do not have a handful of programmable keys because in a large enterprise environment, they are of limited use. In a company with 500 people, you will only need 5 or 10 keys- your assistant, others in yoru workgroup, maybe a few other things. The other 495 people you don't care about. Until recently, real VoIP installations have been limited to either proprietary products from various companies or very large deployments as I mentioned above.

There are a few models that address the 'receptionist' need, for example there are a few Cisco phones that can take sidecar units which are nothing but a big pad with 40 or so programmable LED keys. Snom as I recall has a sidecar for their excellent 360 phone (highly recommended). However, 95% of the users in a large enterprise don't need 20 softkeys, as many of them (hold/xfer/conf/etc) are already on the phone.

In short- there was no demand for them. That is changing. VoIP has gone mainstream. 'Cheap' IP phones don't cost $300 anymore, service is more widely available and more reliable, and everybody wants in, especially SMB where pennies count.

Things like web interface panels and computer software are workarounds to attempt to address a newly formed need, and they do a decent but not very good job of doing it. In a home or SMB environment, no software or LCD soft menu will be able to replace picking up the phone and pushing the ONE button that dials who you want.

So I suspect that over the next several months, manufacturers will start to offer IP phones with handfuls of keys as the Home/SMB voip market develops. Inter-Tel is one that I know of, their phones have a handful of softkeys. (Intertel phones can also use a proprietary intertel protocol to work with an intertel PBX...) Snom 320 and 360 have 12 keys + all the other buttons so they do not take softkeys for VM/DND/etc. AAstra 9133 has 9 keys as I recall.


A time is coming when men will go mad, and when they see someone who is not mad, they will attack him saying, "You are mad, you are not like us." -Abba Anthony