I agree if you can use a recursive table, do it.
If you're using an ORM do it as the ORM allows you and think about performance later as soon as it grows big.
If tables are small (or you have good indexes), a non-optimal structure will still work for you.