How do I pull a guard off a roof in Assassin's Creed 2?
Hang from the ledge, lock onto the guard, and wait for him to be right next to you.When guard near to you, the top right corner of screen says 'assassinate'. Then press the 'left click' button and it will perform the kill and pull him off. You have to have gotten the codex page to unlock this assassination technique in order to perform.
Not sure about roofs, but if you're next to water, you can stay hanging on the ledge underneath the guard and press the main hand button (click on pc's) and Ezio will punch the guard with his hidden blade, grab him and throw him overboard.