Есть еще одно отличие: обычно установка Framework, предоставляемая установщиком из python.org, имеет несколько архитектур.
$ file libpython2.7.dylib
libpython2.7.dylib: Mach-O universal binary with 2 architectures
libpython2.7.dylib (for architecture i386): Mach-O dynamically linked shared library i386
libpython2.7.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
Если вы устанавливаете из исходного кода и не изменяете это намеренно, ваш libpython имеет только одну архитектуру.
У меня были случаи, когда две архитектуры действительно приводили к проблемам (по крайней мере, я считаю, что это было причиной), а именно при установке привязок Python HDF5 (h5py).
И есть еще одно отличие: некоторые инструменты требуют установки фреймворка. Например, PyQt, и, в частности, SIP. Хотя можно установить sip и PyQt даже для неструктурированной версии python, все гораздо сложнее.
Что касается решения о том, что отдавать предпочтение, я до сих пор не знаю. На данный момент я выбрал не-каркасный вариант, но должен сказать, что это также вызвало у меня головную боль.