Step and repeat = copy an object, offset and transform, 'n' instances. Example: creating a spiral staircase - create one step, then in step-and-repeat, specify number of copies and how much to offset (move on Y axis, for example) and rotate each copy. (would also need to allow the user to manually set the origin point relative to the initial object.) Make sense? If not, I can find examples in other software of the interface.
Align - could be guides that pop on screen as user moves one object relative to another (like Adobe Illustrator, or Visio) - can send screen shots if that would help. Align/distribute usually a small palette or modal dialog - when multiple objects are selected, they can be distributed evenly on a dimension, or aligned along sides or centers - again, the interface I'm most familiar with is Illustrator - can send screen caps as examples.
Snap to - centers, faces, edges, vertices. Something I was trying to make yesterday might have benefited from that functionality - too hard to explain in writing - I'll sketch tonight or tomorrow when I get a chance.