Both types fill a similar psychological niche, but approach it from opposite angles. The easiest difference to spot is the J and the P.
INFJs want to define things, understand things, make decisions (so much that we often refuse to make them until we are certain), and put things in boxes. INFJs love harmony that stems from order, and having everything neatly defined and in its correct place, whether physically, intellectually, or emotionally brings us that harmony. INFJs feel harmony by making plans. INFJs are willing to suffer to help others - we are moved by a desire to help more than the suffering of others. INFJs will help when there is no need.
INFPs want to avoid labels, avoid obligations, and remove things from boxes. I've noticed that labels, obligations, and even concepts in boxes are offensive to a lot of INFPs. INFPs seem to want harmony to result from all restrictions being removed and everything going in whatever direction it wants, constantly changing. INFPs feel constricted by plans. INFPs want to help others who are suffering - they are moved by the plight of others more than a desire to help. INFPs are motivated to help by need.