Main difference is where data is downloaded from.
Sentinelsat is a bit of code that grabs freely available data from the official Copernicus https://scihub.copernicus.eu/
Sentinelhub is a commercial product, which keeps a up-to-date copy of all the Sentinel-2 imagery in Amazon. Retrieving data from this source generally costs a small amount, but is also generally a lot faster on the download than Copernicus.
Additionally, the official Copernicus site archives imagery older than 6 months, which means that accessing those images generally takes a while (around 15 to 30 minutes are numbers I remember seeing).
Sentinel Hub is a (payable, free trial available) API providing harmonized access to the Sentinel (and other) data, supporting sub-setting (e.g. choose only the small field), stiching (so that you do not have to bother with two sets of data on the border of scenes), composites (e.g. if you want leaf area index rather than original reflectance values), reprojection, up- and down-scaling, etc. All the typical steps that you would probably do after you download the original scenes from the SciHub. There are three "flavours" of the Sentinel Hub API currently:
- process API - rest API providing instant (seconds) access to up to 2500x2500px of data
- Batch processing API - similar to above, but asynchronous and ready to serve global scale of data
- OGC interface - WMS, WCS, WMTS type of interface with similar constraints as the process API.
sentinelsat was nicely described by Mikkel in a parallel answer.
Disclosure: I am part of Sentinel Hub team, so my answer might be biased.