Many years ago ('60s, possibly '70s or even '80s?), a handoff had to be backward. A forward handoff resulted in a penalty. Also, underhand forward passes were illegal. Not sure when those rules changed, but both are now allowed.
Now the definition of a handoff pass is basically a pass that isn’t thrown.
[b]RULE 6 - PASSING
SECTION 2 – HANDOFF PASS [/b]
A handoff pass is made on a scrimmage play when the ball is handed, but not thrown, by one Team A player to another behind the line of scrimmage. There is no restriction on the number of handoff passes on any one play. The player receiving the handoff pass must not be occupying the position of an interior lineman at the instant of receiving the ball.
And as 60YearFan says, the only restrictions on forward passes is that there can only be one, and that it must be from behind the line of scrimmage.
Interestingly, I cannot find a rule that states that the ball cannot have crossed the line before a forward pass. Can a player take the ball across the line, then run back across and throw it? I always thought that was illegal, but maybe not? Anyone see that rule?
EDIT: I think I found it in Section 3 - Offside Pass, Articles 2 and 3.