Both [3 &4] of these ETL solutions have a lot of the same types of features:
Both are Java based and run on Linux and Windows (Talend is Eclipse-based)
Visual designers for creating the transformations
Connectivity for a myriad of databases, including all the big DBs, text formats, etc.
Supports distributing jobs across multiple servers if you are doing serious lifting
Excellent error handling and error notification systems
Active and helpful forums (Kettle is older and seems to have a larger community however)
Free and open source
They are complex enough to handle a lot of tasks, but not so much as to kill you
There are versions of both (GeoKettle and Spatial Data Integrator) that are tailored for GIS
Not exactly an ETL tool, but I've recently felt a sense of liberation since switching to make/python/psql/wget... for my ETL needs. Make is probably the cornerstone as it handles dependencies (think foreign key ordering with schema introspection) and parallel loading in a very intuitive way.