XHTML is basically HTML that is requires a verifiable XML structure. The point being that you are less likely to implement minor mistakes which might be interpreted differently on different platforms. And you can verify your work follows established browser standards with more ease (you're alerted right away to a problem, whereas HTML will often mistakes to silently fall through the cracks).
Here is some more information about XHTML:
http://www.w3schools.com/xhtml/xhtml_intro.asp
http://www.w3schools.com/xhtml/xhtml_html.asp
Many well known websites use XHTML, however many more websites just use plain old HTML. I tend to use plain old HTML, because it works and I throw caution to the wind. If you're learning first time and you don't mind a few extra hours to do it the "right" way, pick up XHTML.
However I will add to this discussion, your question was about storing data, you should differentiate in your terminology between "storing data" and presenting a view. A well designed website will generally store data in some datastore (a database usually) and present the data in some form (be it XML, or more commonly, a collection of objects), and use a view technology to present that information in what could be one of many different forms. One could be XHTML, but you might create another view of the same data for mobile users, and another view of the same data for a B to B backend application, or a webservice, or XML for an iPhone app... the list goes on.
The point being that if you design your application well in the beginning (here's a new term for you), using a Model-View-Controller approach it will be easy to create different "views" of the same backend data, regardless of how that data is stored. This means that you separate the code that creates the ultimate presentation HTML/XHTML, webservice, etc, from the data that is used to create that view. In the Java world the Spring-MVC framework is a good example of this.
I hope that helps get you going in the right direction.