Aluminum: It has an internal coating so that the water does not come into contact with the metal. It is lighter, suitable for younger children, and usually more affordable.
Stainless Steel: It is an inert material. It does not require an internal coating. Even if it gets scratched inside, there is no risk of chemicals leaching into the water. It does not retain odors and is usually double-walled and insulated.