I have observed that there are two ways to implement the two column page, first and rather straightforward is to make two divs in the container, and float them with each other, but I have noticed a different approach that designers use. Right, narow siderbar's div comes first in the markup which is floated right. and then the left sidebar is there with no float but a big right margin
which one is the best? and are there any reasons for in favor of the second technique?
Depends on your content and purpose, you can use CSS multi column as well.
As for which one is the best, I prefer the 2 divs and float them (most of the time left). This is to make sure of cross browser and screen compatibility.