Сразу скажу, я очень предвзят, так как являюсь старшим автором Матрешки и автором балалайки.
Не буду воспевать дифирамбы, просто кратко расскажу, в чем смысл Матрешки.
1. Классическое наследование основанное на классах используется уже очень давно и очень многими программистами. В интернете вы можете найти тысячи реализаций функции Class. Здесь просто не может быть никаких подводных камней.
2. Двустороннее связывание - достаточно простая штука. Я приводил в комментарии к одной из статей, как это работает. Очень маловероятно, что вы столкнетесь с какими-нибудь проблемами. По поводу байндинга, основанного на CSS селекторах: можно передавать DOM узел, jQuery коллекцию, HTML код и прочее. Соль в том, что вы получаете ноды в JS коде, а не наоборот (данные в HTML коде).
3. Прослушивание событий изменения свойства тоже вещь не сложная. На свойство просто навешивается акцессор (сеттер), который вызывает обработчики.
4. MK.Object - это тот же ООП класс, который просто разделяет данные от не-данных. И, кстати, может содержать совершенно произвольную структуру данных, как и MK.Array.
5. MK.Array - это коллекция с достаточно простым API и автоматическим рендерингом. При вызове какого-нибудь метода, класс смотрит, какой именно метод вызван и запускает оптимизированный механизм рендеринга. Т. е. при использовании метода push, вставляется новый узел в конец контейнера, не перерисовывая всю коллекцию заново.
Какие есть подводные камни, на мой взгляд:
Многоуровневые делегированные события могут запутать. Например, событие "a@@change:x" (в свойстве "a" содержится коллекция коллекций, в последней содержутся модели, изменения свойства "x" которых, мы слушаем) заставляет напрячь извилины, поэтому их использование не рекомендуемо.
Многие программисты очень сильно мудрят с использованием привязок, вставляя в setValue и getValue сложные манипуляции с DOM и ajax запросы. Этого делать не рекомендуется, так как DOM - штука медленная, сложные манипуляции могут отразиться на производительности, а ajax запросы вовсе асинхронны (синхронные запросы будут убраны из вебкита в скором). Привязки должны быть максимально простыми.
По поводу Балалайки даже не знаю, что сказать. Это просто очередная jQuery-like либа с очень небольшим набором методов. Единственный подводный камень - это то, что там нет привычных возможностей, их прийдется дописывать самостоятельно. Если не хочется, возьмите Зепто, например.