Use of "Permission Sets" rather than Profiles
There needs to be a way to make the assignment or permissions more granular than 1 profile per user. One thought would be to allow us to create "permission sets" and then provide the ability to assign multiple permission sets per user. This would allow us to create a set of permissions once and re-use it.
For example, on most projects implementing Salesforce.com, there will be multiple profiles differing only by a permission or 2. There might be a "Sales (Standard") one that gives the baseline sales functionality. Then the "Sales (Power User)" would have the same permissions + the ability to create public reports & views, convert leads, etc. I might have another one that differs only by the ability to Delete certain objects. Oftentimes, the result might be 5 different profiles to support a group. Then Phase 2 roles around and due to minor differences in what's needed, there might be 15 profiles. When you take field level security, page layout assignment, etc. into account, this gets complicated.
Bottom line is that a proliferation of profiles results.
I think it'd be great if we could package permissions into small sets. There could be different types of sets too. Types might include: "Application Permissions", "Object Permissions", "Field Level Security Permissions", etc. Each type would be independently assigned to users on the user page. A related list for each type of permission set would exist and you'd be able to give multiple permissions sets to a user. The user's permissions would be a union of all Permission Sets assigned to them.
Not sure if this is the best design or not, but the idea to make permissions more granular allowing you to incrementally increase someone's permissions would be a big help.