The Google API Python Client and the Google Data Python Client can access different APIs. As far as I understand, Google is migrating older APIs of their services to provide developers a clean and unified access to all services.
Google API Python Client is newer and meant for the newer Google API, including Google Drive API, which allows you to create/delete spreadsheets for example or access meta-data of spreadsheets. You cannot modify the content of these files. This library supports oAuth 2 for authentication, including service-accounts.
Google Data Python Client is much older and a little bit outdated and cumbersome. It provides you with access to the (older) Google Data API, including Google Spreadsheets API 3.0, which allows you to add/remove worksheets to/from a spreadsheet, querying or adding rows or cells, or modifying cells/rows. However, the Google Data API and so the Spreadsheets API feel very different from the other APIs, especially the newer ones.
Some tips: For spreadsheets, you will find many examples using the older SpreadsheetService, but I think the Service class restricts you to oAuth 1. For oAuth 2 you would need to use the newer SpreadsheetClient class. They also have different method names and some concepts are different too. If you don't want to use a normal Google user account, but need to use a service account (with a p12 file created in the developer console), you can find a working code pattern here.
UPDATE: You may also want to have a look into the gspread library. It's supposed to be much easier than gdata, but I haven't figured out yet oAuth2 service account authorizations with that one.