Advantages:
The biggest advantage of HTML5 is that the functionality is built into the browser. Web Developers have been increasingly trying to create applications which display fluid animations, stream video, play music and integrate with Social Network sites such as Twitter and Facebook. In most cases they could only provide these things by learning and applying add-on tools included Flex, Flash or Silverlight or building complex javascript tools. This increased the complexity and the time it took to develop the Web Applications. HTML5 changes this with DOM and HTML support, (without the plugins and 3rd party programs) for video and audio embedding, high-quality drawings, charts and animation and many other types of rich content demanded by users.
Cleaner Code
HTML5 will enable developers to use cleaner code, we can remove most div tags and replace them with new structural elements.
Greater Consistency
As websites adopt the new HTML5 elements we will see far greater consistency in terms of the HTML used to code a web page on one site compared to another. This will make it far easier for web designers and web developers to immediately grasp how a web page is structured even if they are brand new to it.
Improved Semantics
As the elements used to code a web page are standardized, using the new HTML5 elements, the semantic value of every web page will increase. As it will be easy to see which parts of the page are headers, nav, footers, aside, etc. and most importantly know what their meaning and purpose is in a machine readable format.
Improved Accessibility
With HTML5 it should be possible for assistive technologies to expand on the features they can offer their users as they can immediately build up a more detailed understanding of the structure of a page by looking at the HTML5 elements it contains.
Geolocation
The new HTML5 geolocation APIs make location, whether generated via GPS or other methods, directly available to any HTML5-compatible browser-based application. A good example is the Google Latitude for the iPhone. This is a pure Web App not a platform-dependent iPhone application.
Client-side database
HTML5 provides a new SQL-based database API that can be used for storing data locally, that is client side. You get fully defined and structured database storage. This allows a developer to save structured data client-side using a real SQL database. It is not a permanent database, but enables you to store structured data, temporarily. The data can be accessed to support the web application and it can even be accessed when the client is disconnected for a short period of time. This database can be used to store e-mails or shopping cart items for an online shopping site.
Offline Application Cache
An offline application HTTP cache that can be used to make sure applications are available even when the user is disconnected from their network. All browsers have a cache but they have been very unreliable for delivering whole pages and applications. Mostly the browser would not cache the page properly and so you would be unable to view the page when you disconnected from the Internet. HTML5 provides a smart solution by allowing a developer can specify the files that the browser should cache while online. So, even if you reload the page from the cache when you are offline, the complete page will still load correctly.
Smarter forms
HTML5 offers enhanced forms with improvements to text inputs, search boxes and other fields and provides better controls for validating data, focusing, interaction with other page elements on the page and various other improvements.
Sharper focus on Web application Requirements
HTML5 is aimed at making it easier to build search front-ends, wikis, real-time chat, drag-and-drop tools, discussion boards and many other modern web elements into any site, and have them work more efficiently
Disadvantages:
Browser Support
The main problem with HTML5’s acceptance is that only modern browsers support it. By modern, I mean almost everything except for Internet Explorer. The new version…IE9 offers excellent support, but as of this writing it’s not quite out of beta. Even if it were, the majority of people will still use older versions of IE for quite some time. There are things you can do to make the language play nice with older browsers, but none of them are perfect.
The Language is a Spec
Another problem is that although parts of the language are very stable, the language itself is considered a work in progress, so technically, any of the elements could change at any time. The language is not expected to be completed for several years, which complicates things further. Thankfully, a lot of the language is considered stable and ready to use. I think it’s such a great move forward, that you should develop a Graceful Degradation approach to writing your HTML. That simply means writing HTML that will work with older browsers, but will offer users with more modern browsers an enhanced experience.
Media Licensing Issues
Another ugly fact about HTML5 is that because of licensing issues, rich media has to be compressed in multiple formats in order to be compatible with most browsers. So you’ll probably use something like mp3 audio for webkit browsers (safari, chrome), and ogg for mozilla (firefox) browsers. It involves a bit more work and it is a pain, but hopefully those issues will be resolved soon.
No Doctype
Early in HTML’s history, different browsers understood different elements, so the W3C decided to introduce the DOCTYPE. The idea behind a DOCTYPE was that a browser that didn’t understand a specification could download it from the Internet and display the page anyway. In order to keep older webpages without DOCTYPES working correctly, Internet Explorer (and later other Web browsers) displayed all documents with a DOCTYPE in a new standards-compliant way and those without a DOCTYPE in an old-fashioned way, called “quirks mode”. Now, HTML 5′s DOCTYPE is long enough to keep browsers from displaying the page in quirks mode, but since it doesn’t include a URI, it’s not useable by browsers that aren’t designed to work with HTML 5.
Keeping Old Presentational Elements
Some elements, like and are being retained in HTML 5, even though it is simple to obtain the same effects using CSS, which is supported by every Web browser. This encourages sloppy coding practices. Thankfully, some presentational elements and have been removed.
Breaking Form Input Labels
The main purpose of the element is to associate a form control (like a checkbox, for example) with text that describes it (the label). In HTML 4, clicking a label for a text field will automatically move the caret (blinking cursor) to that text field. Similarly, clicking on a label for a checkbox will check that checkbox, and so forth. Many operating systems also do this, so this behaviour is expected on a webpage. In HTML 5, this is no longer so. Not only will this change greatly annoy Web users, but it will cause developers to eventually forget to use them, which will be a disadvantage to those with visual disabilities who need assistive technologies to read websites to them. (Recently, HTML 5 has been updated to say that using a label to select a form control is permissible if it is native functionality for the operating system to do so.)