Rewriting rules: difference between ‘init’, ‘rewrite_rules_array’, ‘generate_rewrite_rules’?

Use whatever is simplest for your needs.

If you just need to add a rule to the stack, use add_rewrite_rule on init.

generate_rewrite_rules and rewrite_rules_array give you access to the whole rewrite rules array. Use these if you need to modify, remove, or reorder the rules.