I'm no expert, but while both handle the post event via AJAX, I think smoothState.js has more of an emphasis on creating animated transitions.
smoothState.js gives you access to three functions that allow you to easily insert animations into a page load, making the transition completely smooth:
- onStart - Run when a link has been activated
- onProgress - Run if the page request is still loading and onStart has finished animating
- onEnd - Run when requested content is ready to be injected into the page
I believe PJax is just a quick and easy way to do a page load via AJAX, with less of an emphasis on making those transitions slick looking.