All of this is useful if you are OOP and just wanna determine quest is completed using only memory reading.
But since quest cache might not have the entry for your quest, you might want to have a offline quest Database for that and most likely only ObjectiveInfo and QuestFlags for each quest is needed.
Good news is that if you can determine if quest is completed for majority of quests and objectives. The only method I did not looked atm is 'PlayerFactionReputation'