SURF feature extractor and descriptor I am trying to understand how SURF extracts features using a Hessian matrix. 
What I am a bit confused about, is why a second derivative Gaussian filter is used, rather than a standard Gaussian filter? What effect does this have on the system?
First of all, SURF only uses it as a blob detector to find interest points.
The first order derivatives only give you directional information such as edge-ness. However, the Hessian (as the matrix of second derivatives) contains local structure information such as curvature / concavity etc. For instance, its eigenvectors can be used for cornerness measures. It is just more informative. Also, its determinant is used as an automatic scale selector. 

Another common alternative would be a Laplacian detector, but Hessian shows better scale selection properties.