Generating passwords for user means that you will get good passwords. However, security is an all-encompassing thing; you also need the users to remember the passwords, and not store them insecurely (the traditional stick-up note under the keyboard), and, generally speaking, you need the user to cooperate. There is little worse that you can do than turning the user into an enemy.
Therefore, a good thing to do is to provide an optional password generator: a button which the user can click, to obtain a strong, randomly generated password, which they can use. But do not enforce it: otherwise, users will become hostile, and hostile users are very creative when it comes to working around security features.
There are a few gotchas to be mindful of, when generating user passwords:
Don't overdo it. We know that your password generator can produce passwords with 37 random signs. But you really really need the users to accept the passwords.
Have the user type the password. Passwords are remembered with the fingers. If the user can just select the password with a button, or copy-and-paste it, then he will enter it at registration time without typing it, and 90 seconds later he will have forgotten it entirely. Forgotten passwords are extra helpdesk time. Preventing copy-and-paste means that the password will have to be shown on the screen as a collection of pictures, not selectable text.
Beware of shoulder surfing. If the user sees the generated password, then the password in displayed on the screen. In many situations (in particular work-related environments), the user cannot practically prevent colleagues with sneaky eyes from taking the occasional peek. This is the reason why password-entry fields are obscured, and the same reason applies here.