IMHO it is a very useful feature. It can be abused, true, but it also helps to automate some of the more mundane tests.
It might be useful to rename the tool from 'Smart Unit Tests' to 'Infer Unit Tests':
- it changes adjective into a verb i.e. meaningless and somewhat misleading description into a very descriptive action
- it shows better the true nature of the feature, after all PEX does exactly that - it infers inputs
It would be great if this feature could use information contained in Code Contracts as they provide an additional information about the requirements. I use Code Contracts whenever I can in all my new code and it would be fantastic if at some point Visual Studio would just pick this information up and helped me with unit testing.