a) talking to the library from the command line - the mapping between the UI and the filesystem was completely abstract.
b) talking to the library from apps - the UI was horrible and inconsistent.
c) metadata was entirely non transparent and hard to get at.
Bearable was removing iPhoto and installing Nikon ViewNX which came with my D70. This has no abstraction - the filesystem is the abstraction.
(I know how to access the source files BTW).