Every browser will make the page appear different. Standords are put in place by the W3C to ensure that the page views similarly in different browser, providing the code behind the site complies with their standords. If the code does not comply, you run the risk of the site being "broken" or just not opening correctly in some browsers, due to compatability issues. The standords were put in place to prevent web developers and browser makers from trying to out-compete each-other to make it a one "browser in the market" situation that everybody then has to code for. One browser could potentially change the code they support, and everyone would then have to re-code their site. The standords also ensure that pages are back-wards compatible, like the browsers themselves have to be. Old code should show in new browsers as intended, and new features for one browser should have an alternative provided in the page for other browsers that haven't yet caught up. It also trys to prevent monopoly browser tactics, where you have to code for specific browsers for the page to show correctly in each, due to differences in the code each browser will support.
An example of this is a site reliant on Javascript for links. If you rely soley on Javascript links to change pages within your site, the estimated 5% of web users that use text-only browsers will only be able to view your home page. Javascript won't work in a text only browser, as Javascript is *relatively* new... Pictures are another example. If you switch off the feature that automatially loads photos for you, lets say because your internet connection is slow, photo's won't show at all. Both of these issues can be solved with an alt parameter being given, such that browsers that don't support any media you are using can still make full use of the site, as a description or alternative link is provided in place of the missing media
Tags and CSS are both covered by W3C. They state so far a possible that it is best practice to place all code relating to styling in an exturnal CSS (Cascading Style Sheet) where possible, and then link to the CSS from within your page. If you view the source code for your site and look, about 3/4 of your code is for styling/formatting, very little of it is for actual content. The surgested way is to put all that styling onto a seporate file and link to that file. You then tag your content to make the browser reference the correct section of that document. This allows the browser to over-ride your styling sets easily. A short-sited user can enlarge and change the page content's colour to make it easier to read for example, where as styling in the page itself will stop that happening. The current method of attaching the styles is not good for users whom have requirements for the text to be certain colours/sizes for it to be read. You also create more work for yourself with editing the style of the site. ATM you have to edit every page to change background colour. With CSS, you change it in one document, and the whole site changes the instant you upload the updated CSS file to the site
Overall though, your site presents well, there isn't any obvious spelling errors and the layout is logical and intuative. It's a very good site IMO, but it has a couple of usability issues if you are likely to get anybody visuiting the site that is short of site, or whom uses a text only browser

You could choose to ignore them for now, knowing full well that some users may not be able to view the site correctly, and that you may have a mother of all editing jobs to do later if legislation is put in place for W3C standords compliance being forced on us. If you are leaving the page as-is, that TBH is the option I'd take

If you are going to add more pages, I'd probibly fix it now
All the best
Rabbut