When do we use Visual Studio 2010 for SharePoint 2010 web part development and when do we stick with Designer? Are there pros/cons? As a noob, it seems that for more robust, customized web parts, Visual Studio is the way to go. Thanks.
SharePoint Designer is intended as a "power user" tool, whereas Visual Studio is intended for developers. There is no real concept of deployment in SPD, so you can't really expect to use it to develop solutions. If you want to do development, you need Visual Studio and someone with development skills. But if you are just doing customization you can achieve a lot with SharePoint Designer.
Using Visual Studio you can create solutions that change files on your front-end servers and make modifications to your farm's configuration, whereas with SPD you are limited to making changes to the content database. Even so, SPD is powerful enough to do serious damage to a farm in the wrong hands. That is why the administrator has the option of disabling it.
Of course SPD is a useful tool for developers also. But artefacts created by developers with SPD, or by other means, would normally be packaged up using VS for deployment.
As far as web parts are concerned, as mentioned in the question, you are restricted to configuring web parts using SharePoint Designer. If you want to develop a web part you need VS, although you don't always need to - you can achieve a lot by skillful configuration of existing out-of-the-box web parts.