There are different Web Parts for different purposes, for example Content Editor Web Part under Media and Content category will allow you to put CSS and HTML, it also has Edit HTML option so you can define your CSS, HTML, JS etc.
But that is useful when you are using Web Part pages.. If you want the content authors for your website use some specific fields to define the content of a page, you might need to think of Page Layouts.. (you might need to turn on Publishing Feature for the site collection and site)
The key for using Page Layouts is that you create a Content Type with defined site columns, define Parent Content Type to Page/Article Page.. (have one of the Publishing HTML field) and you can create a Page Layout based on this content type.. Than you can create pages based on the page layout..
References
Using the Content Editor Web Part
Page Layouts in SharePoint 2010