As stated in the map name, cp_snowplow is a Control Point map. Specifically, it's an Attack/Defend Control Points map, similar to Dustbowl.
It consists of 2 stages with 3 control points per stage.
After setup is done, there will be about 15 seconds before the train gates near BLU spawn come down and the train speeds down the track (killing everyone in its way) until it hits the first roadblock near point A.
Every 30 seconds thereafter, the train is hit by the device next to the current control point, dealing 10% damage.
Successfully capturing a point adds a percentage back to the train's health... the problem being that this is buggy and the exact amount added seems to be random between 10% and 30%.
Note: The train will not be smashed by the current trap as long as BLU is on the control point. This acts as a sort of overtime mechanic.
Once a point is captured, the roadblock will break and the train will speed down the track until it hits the next roadblock.
Control points are somewhere near the roadblock, but they may not be immediately next to it.
TL;DR cp_snowplow is an A/D Control Point map with a fancy (and slightly broken) timer system.