The basic reason that a human body floats better in salt water than in fresh water is that salt water is denser. The molecules of salt bond with water molecules, meaning that salt particles are suspended in the water. This gives salt water more matter per cubic inch than fresh water.
Weight does not matter when it comes to buoyancy in water. Weight is simply a measure of the amount of force that is being exerted on mass. Mass is a measure of the amount of matter that an object or person contains. A person with a mass of 100 kg. on Earth will have the same mass on Mars, but the weight will be different because the gravity exerted on that mass is different. When you look at density, you are looking at the measurement of mass in a certain volume.
Density is a measurement of mass compared to volume. For example, fresh water has a density of 1 gram per cubic centimeter. It comes into play because the less dense, physically speaking, a person is, the more they will float. Humans are largely made up of water, and their density reflects this -- the average man has a density of 0.98 grams per cubic centimeter and the average woman is 0.97 grams per cubic centimeter. This is why most people can float in fresh water, like swimming pools. However, salt water has a density of 1.024 grams per cubic centimeter.
The reason salt water occurs in the first place is because of water's qualities as a solvent. Water molecules are polar -- one end of the molecule has a positive attraction and the other end has a negative attraction. Water molecules are also relatively small. This means that another polar molecule can be surrounded by water. The water gets in between the molecules and separates them from each other due to a very basic structure -- this is how things like salt are dissolved. This is also what makes salt water more dense. There are all these molecules of salt suspended in the water, and salt is more dense than water. If you've ever poured salt into a glass of water, you can see this for yourself -- salt sinks, straight away. When the salt and the water molecules come together, this changes the density of the water.
Buoyancy has to do with how objects of different densities relate to each other. A human mostly floats in fresh water because, on average, they are slightly more buoyant than fresh water. However, a human will sit lower in fresh water than salt water, because humans and fresh water are closer in densities than humans in salt water.
If you took a stick of butter, which weighs about 4 oz., and a piece of iron that also weighs 4 oz. and dropped them in a bathtub full of water, the butter would float while the iron would sink. You would notice that 4 oz. of iron appears significantly smaller than 4 oz. of butter, even though they weigh the same. This is because of density -- butter has 0.86 grams per 1 cubic centimeter, where as iron has 7.87 grams per cubic centimeter. Butter is less dense, and therefore more buoyant.