A typical 1-loop calculation can be roughly (I'm obviously oversimplifying things here) understood as a sequence of the following steps
You write down the Largrangian of your model, e.g. QCD,
QED, EW SM, MSSM etc. and generate the corresponding
Feynman rules. This is something FeynRules can do for
You use the obtained Feynman rules to generate Feynman
diagrams for the process you are interested in. This can be done
with FeynArts. The rules from FeynRules can be conveniently
exported into the FeynArts format, which makes the usage of
FeynRules+FeynArts very convenient.
However, it is worth noting that FeynRules can also export Feynman
rules to many other formats. Furthermore, Feynman diagrams can
be also generated using QGRAF, although QGRAF lacks a Mathematica
interface and is more popular among multiloop people than people doing
solely 1-loop calculations.
Finally, the diagram generator (be it FeynArts, QGRAF
or anything else) gives you a list of amplitudes that need to be evaluated.
You can handle the amplitude evaluation using your own codes written
e.g. in FORM, Mathematica, Maple, Reduce etc. or you can use one of the
existing tools on the market. If you employ FeynArts, then FormCalc or
FeynCalc are quite convenient, as they can import the output of FeynArts
directly. Again, there are many other packages for doing similar things, e.g.
Package-X or HEPMath .
At 1-loop it is convenient to handle loop integrals using the Passarino-Veltman
technique, where you first reduce all tensor integrals to scalars and then evaluate the
resulting scalar functions (Passarino-Veltman functions) numerically or analytically.
Numerical evaluation is usually more common (especially among pheno people), so one can do it using tools such as LoopTools, Collier etc. Again, for people who employ FeynCalc
or FormCalc, LoopTools is often the first choice.
At the end of the day you need to integrate over the phase space if you are interested
in a cross-section, decay rate or a similar observable. Some packages like FormCalc come
with special routines for automatizing this step. Otherwise one can also write some code
by hand, employing popular libraries for numerical MC integration such as Cuba.
Notice that there are frameworks like MadGraph or GoSam that essentially implement all the above steps in one package. But depending on what you want to do, they might offer less flexibility.
FORM by itself does not calculate Feynman diagrams for you. It is a symbolic manipulation
system which can be used to write codes for QFT calculations. It has some nice things like
Dirac algebra or index contractions working out-of-the box, though. You are free to write your symbolic evaluation codes using FORM (or Mathematica or Maple) from scratch, but depending on your programming skills that might take quite some time.
In practice, people often adopt a hybrid approach: Do some parts of the calculation using the existing packages (like FeynCalc or FormCalc) and employ some hand-written codes (e.g. in FORM) for the rest.
The differences between FeynCalc and FormCalc have already been mentioned in the comments.
So you already know that these are two completely different packages maintained by different people and following different philosophies.
I'd just like to add that in FormCalc you have the CalcFeynAmp routine that handles the evaluation of the amplitude and does 90% of work for you. It's fast and you
don't necessarily need to understand every step of the calculation. In FeynCalc you have hundreds of functions for doing different things and combining them in a suitable way might be nontrivial. If you don't understand how to calculate Feynman diagrams by pen and paper, you might very likely mess it up also when using FeynCalc.
However, if you need to do something more sophisticated than calculating a matrix element squared, FeynCalc might be a better fit, before you start writing own codes from scratch.