Difference between HDF5 file and PyTables file
PyTables files are HDF5 files.
However, as I understand it, PyTables adds some extra metadata to the attributes of each entry in the HDF file.
If you're looking for a more "vanilla" hdf5 solution for python/numpy, have a look a h5py.
It's less database-like (i.e. less "table-like") than PyTables, and doesn't have as many nifty querying features, but it's much more straight-forward, in my opinion.  If you're going to be accessing an hdf5 file from multiple different languages, h5py is probably a better route to take.
Is there a difference between HDF5 files and files created by PyTables? 
PyTables has two functions .isHDFfile() and .isPyTablesFile() suggesting that there
is a difference between the two formats.
I've done some looking around on Google and have gathered that PyTables is built on top of HDF, but I wasn't able to find much beyond that.  
I am specifically interested in interoperability, speed and overhead.
Thanks.