they are called separately because they serve different purposes. The germline variant only need 1 sample to compare with the reference genome, while the somatic variants only found in tumor tissue, they need to be compared with other normal tissue of the same person.
So the answer to your question "Does Haplotyecaller outputs both germline and somatic variants ?" is: No, HaplotypeCaller only work for germline variants, because it compared one genome with the reference genome.
If you think that: "so if the tissue used for sequencing is the tumor one, can HaplotypeCaller detect it?" The answer is still no, because the tissue can also be heterogeneous, the somatic variants occur at quite low frequency, so it's likely to be filtered out by the QC of germline variant. You will need mutect with control and tumor tissue for the somatic variants.