The first (.filter()) is more general: you can construct any conditional for any set of columns. The latter is a shortcut for the common case of a lookup by primary key.
(note: this is a first impression; I haven't used SQLAlchemy, though I do have many years of programming experience)