What are the main differences between these two authentication methods?
And when would you use one over the other?
Basic authentication is just sending the username + password to the server.
Cryptographic authentication is a generic term that may include any kind of authentication that uses cryptographic algorithms to authenticate the entities. Most of the time it will consist of a challenge response protocol, where the response is created by encrypting or keyed hashing over the challenge. As only the person that knows the key (/password) is able to create a cryptogram that way, the other party knows who has performed the authentication.
Note that basic authentication over SSL/TLS is generally more secure than cryptographic authentication over an unprotected HTTP transport layer. In the end this does depend the details of the system though.