Lua側でC++のオブジェクトを操作するならバインダを使う
C++側でLuaのオブジェクトを操作するならスタックを使う
Luaのオブジェクトは数種類しかないからスタックは簡単
C++のオブジェクトは多種多様だからバインダはむずかしい

という認識で合ってるかな?