Hi!
I am using GATK as well, performing Indel realignment and base quality recalibration. But still, I am not an expert! ;-)
As "base quality recalibration" already suggests, it recalibrates the quality score of the bases and NOT of the reads (i.e. the mapping quality).
The base quality recalibration tries to eradicate sequencing errors provided by the machine. E.g., in my opinion, there is no need to compute the "HomopolymerCovariate" for Illumina reads, as Illumina's base calling procedure does not make trouble on calling repeating bases... Am I right here?!
The Indel realignment tries to eradicate erros done while mapping the reads to the reference. Some Indels (usually the smaller ones) won't be called in every read, and SNPs may be incorporated as they are "more likely" in this read (usually towards the end of a read..). Remember, mapping to the reference is done for every read individually!
The Indel realignment looks at the collectivity of the reads supporting the position, where an Indel have been called (in at least one read). If there are additional reads, which are able to support the Indel, but have SNPs incorporated so far, they will be remapped to contain the Indel as well, if it is possible and makes "sense" (presumably according to some error function).
In summary, this leads to more consitent Indel calls and reduces the positions where you have SNPs and Indels, both in place.
It may depend on your specific data which filtering is useful and which not, but in general, I would recommend to use the majority of the filterings. You just have to try...
Generally speaking, I would suggest that the Indel realignment and the base quality recalibration work independently from each other. I do remapping first and then recalibration as well but may be it won't make any great difference....
Hope that helps a little bit!