(1) You want to be able to assign meaning to every part of a proof that it generates, so if the system is supposed to generate FOL theorems then it had better not generate both A and ¬A where A is some boolean statement!
(2) You want to be able to do all logical reasoning, so you want to see how every kind of logical reasoning can be done in the system.