SimpleDB is a service, whereas CouchDB stands alone. So you can install CouchDB locally, mess around with it and hack on the source.
Aside from that, CouchDB has views, which add another layer of indirection when reading the data. You break your data up into separate documents, where each doc is a collection of values that should be updated together (atomically). Then you use views to transform your docs to the way your data is displayed. (For example, you could store a blog post and each comment as separate documents, and have a view that returns a post and all its related comments together.) SimpleDB doesn't have this complexity.