Mist protects the pokemon that used the attack from having their stats lowered by an attack used by an opponent.
The above is the only thing that Mist does. It does not protect against the infliction of status conditions. It also does not protect the using pokemon from stat lowering done by one of its own attacks (such as Curse). Mist also will not prevent a stat increase on the using pokemon when it is caused by an opponent's attack (such as the Attack stat increase from Swagger).
The effects of Mist will persist until the using pokemon is fainted or switches out normally. If the pokemon switches out via Baton Pass, the effects of Mist will be passed to the target of Baton Pass.