Assuming you started editting a WordPress theme to get the job done, you would have had existing CSS in the theme’s stylesheet, there’s likely to be a conflict between the existing WordPress theme CSS and your own (added) CSS…
WordPress templates act as any HTML equivalent would..
In a wordpress page
<div class="example">Hello</div>
In regular html page
<div class="example">Hello</div>
Would both be treated the same, it’s the same code, the only difference is the CSS defintions, and these essentially control how your elements act throughout the page.
If you know which parts of the stylesheet are from the theme’s original CSS, chop pieces out, save, reload the page, if no change, paste it back in, remove another chunk, rinse and repeat, until you find the area that’s causing a conflict with said element(s)..
In regard to using..
wp_list_pages()
The main reason to use this is simply to avoid having to update the theme every time you create a new page, rather then having to code in a new element.. [example below]
<li class="example><a href="example">Example</a></li>
The wp_list_pages function grabs the pages for you and applies CSS classes to elements for styling in the stylesheet, this essentially saves you hours of writing code, you just simply style the elements created, rather then writing them out each time..
The codex does generally give good examples and points to pages and pages of information… (Docs link at the top)…