"If" is a programming construct.
Implies is a boolean logic construct.
Examples from the help pages:
If does not treat all its arguments as booleans and return a boolean, it is meant to use mostly for control flow in programming.
Implies was introduced much later to try to provide the pieces to calculate with logic.
Programming languages have a nasty habit of grabbing words from human languages, twisting the meaning to be something similar, but different, and then using them. If the meaning were twisted into something totally different it might be less likely to be misinterpreted.