Like you say password pattern enforcement is basically a good way to make sure that the user is going to invent a password that is optimised to be forgotten. This is especially true of rules that are quite complicated (one I recently came across demanded that the password have at least one capital letter, one digit, one special character, be at least 8 characters long, not have any double letter combinations ...).
The aim is to increase security and I have worked in places where people write the passwords down on paper and leave it next to the workstation because they can't remember them. Is that secure? I don't think so. I think the user should be able to do what they want and should be "guided" into making a good choice.
A popular mechanism is to have a strength or goodness indicator next to the password field where a check is made to determine the relative password strength. This gives the user some direction and advice on their password choice. A common implementation of this has the coloured box ranging from red (bad) to green (good, strong).
Another solution is to use OpenID providers like Google and the stackexchange sites. That way the user doesn't have to remember anything and it's usually one-click login.
In the context of usability and UX both of these methods are better than password pattern enforcement.
Oh, and while we are talking about passwords; whatever you do, don't ever truncate the user's password to 8 characters. It's unbelievable that there are sites that do this, even when the password field accepts more than 8 characters, and then expect their users to be able to log in.