GETは、簡単な値の持ち運び用。表示するためのIDであるとか。
POSTは、登録内容など個人的で比較的重要なもの。
と使い分けています。
クロスサイトリクエストフォージュリ防止のためにも、書き込みや削除処理には必ずPOSTを使うようにしています。(POSTでも100%防げるものではありませんが)
delete.php?id=123
こんなGETで削除するIDを持ち運ぶと、
< img src="delete.php?id=123"> というソースが書かれたページを表示するだけで実行されてしまいます。
そのほかセッション変数を使う方法も場合により使ってます。

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。