My understanding is a bit different.
I believe the ball is free to move up and down between 2 seats, not 1. In the normal (rubber on the road) attitude, the mass of the ball has it resting on the lower seat. If there is pressure build-up in the tank it lifts (forces?) the ball away from the seat and allows it to vent. Otherwise the ball keeps the tank closed off to atmosphere and thus minimizes the stink/evaporation of fuel. Note that the valve has to be above the fuel level for it to work in this manner.
In rollover attitude the mass of the liquid fuel presses the ball against the top seat thus preventing any fuel from dribbling out.
The vapour cannister uses activated charcoal to "scrub" any hydrocarbons (and thus stink) out of the pressurized vapour escaping the tank, and also serves the purpose of preventing dirt from getting into the tank.
Earl