Explain the difference between window functions and GROUP BY clauses in the context of analytical reporting for HackerRank.