I am new to SharePoint 2010, could anybody tell me whether SharePoint is a CMS or something else and whether I can develop an ASP.NET application in it as I can develop in Visual Studio. Is it so rich in terms of widgets like visual studio.
Thanks
by creating a site collection you can start your CMS design.[first link above] by proggramming and creating your first Webpart , you can develop a widget or gadjet for SharePoint 2010[second link]
http://technet.microsoft.com/en-us/library/cc263094.aspx
http://patricklamber.blogspot.com/2010/05/how-do-i-create-my-first-web-part-with.html
SharePoint will work as a CMS system for SharePoint sites ONLY. You will find it difficult to manage non-SharePoint sites. However, you can use SharePoint as a 'generic' content management system - storing common files and data that later get pushed out to any end-point. This will require some custom programming, however and it might be cheaper to buy a CMS system that supports all your end-points (e.g. I recommend that my clients evaluate platforms like Tridion or SiteCore).
SharePoint web parts are NOT the same as ASP.net web parts (though they are related) so you can't develop generic web parts that will deploy simultaneously to SharePoint and asp.net pages.
If you plan to manage content in SharePoint AND deliver your web experience exclusively in SharePoint, then yes, you can use SharePoint as your CMS.
SharePoint is a tool which can be used for CMS but it is much much more then simple CMS tool.
You can refer MSDN link to start SharePoint learning and as you said you are a .NET developer then it will not be any difficult for you to learn SharePoint as a developer.
SharePoint application cycle and simple ASP.NET application cycle are different therefore you cannot use ASP.NET application/web parts in SharePoint. Although you can develop APP in ASP.NET and used those apps in SharePoint but it is advance part of SharePoint.
I would suggest you to first start learning SharePoint from MSDN forum and try to develop some simple script to understand SharePoint object model.
Thanks