http://example.com = http://example.com/
Nope, those are 2 different pages according to the SEs.
None of the following are the same page:
http://example.com
http://example.com/
http://www.example.com
http://www.example.com/
http://www.example.com/index.html
http://example.com/index.asp
http://www.example.com/index.php
All of these variants need to be forced to redirect to a single variant, either http://example.com/ or http://www.example.com/ - pick one and redirect all others to that one and live with it forever.
Additionally, parameters also make each page unique as these aren't the same either:
http://example.com/index.html?affid=1203
http://www.example.com/index.html?user=606
http://www.example.com/index.asp?page=10
That's why sites grab the affiliate codes like the affid above, store it in a session, then redirect back to the page without the affid on the URI.
WebmasterWorld's Google forum has several archive threads on the
canonical topic [webmasterworld.com], scroll down, they're grouped together. Also, here's an
in-depth post on canonicalization [mattcutts.com] by Google's Matt Cutts that I think you need to read.
Hope that helps you sort it out.
Why this would affect AdSense is because of the following:
The indexed page in Google is http://www.example.com/mywidget.html which AdSense knows what ads to display.
Along comes a surfer to http://example.com/mywidget.html which is a different subdomain with the same page name that's already indexed with the "www." variant, and now neither AdSense nor Google have indexed this new variant so the ads are different, or altogether off kilter because of many variables that differ between the "www." and non-www site.
Now you also have the added problem that the page is indexed twice in the SE and it's competing with itself.
They need to be canonicalized to only be indexed as a single entity, either with or without the "www", and then your SE rankings and Adense targeting will improve across the board.