resolving singularities is perhaps best understood by imagining how the singularities arose.
if you have a curve in space, and you project it into the plane from a point, any two points of the curve which lie on a common line through the center of the projection, will go to the same point in the plane.
thus to desingularize the plane curve you want to revrse the process, replacing the one point by the original two points, or replacing the collapsed image of the line through the center of projection, by the line.
so we get the process of "blowing up" singularities, or replacing a single point by a line. this is most naturally and easily done by returning to a higher dimension, so as I recall fulton defines blowing up abstractly, in a product space, then re embeds the object into projective space.
but if one wants to remain in the plane, then one cannot raise the dimension so must resort to blowing up some points and then blowing down also some lines, just so the final result will still be in a plane.
of course it is impossible to desingularize most plane curves and have the non singular version also be a plane curve, so in that setting, where a plane curve is wanted, we settle for reducing the complexity of the singularities, obtaining a plane curve birational to the original one, but with only singular points that look (infinitesimally) like the intersection of a family of lines with different slopes passing through the point.
so there are many somewhat inessential elements to resolution of singularities that are there in order to remain in a certain category, i.e. algebraic varieties, or projective varieties, or plane curves.
quadratic transformations are essential if you want to do everything in the plane. such a transform is the composition of three point blowups and three line blowdowns.
of course this complicates the nature of the process, at least abstractly, but quadratic transforms are very concrete and explicit, i.e. in some coordinates, just (yz, xz, xy). this map collapses the line x = 0 to the point (1,0,0) e.g.
note also that repeating this transform gives (x^2yz, y^2 xz, z^2 xy) = (x,y,z), so the transform is self inverse. This means that not only does the line x=0 all map to the point (1,0,0), but conversely, the point (1,0,0) maps somehow to the whole line x=0.
what this means is that if a curve passes through (1,0,0), say the point p of the curve is there, then the transform of that curve will have point p somewhere on the line x=0 but it could be anywhere. It depends on the position of the tangent line of the curve at p. I.e. two curves both passing through (1,0,0) hence intersecting there, but having different tangent lines there, will no longer intersect after this transform is performed, their points which did correspond to (1,0,0) will be at different points of the line x=0.
the resolution process is local, hence the affine version contains its essence, but one wants to work also on projective curves so the process is projectivized.
riemanns version is merely to yank the whole curve out of the plane, compactify its smooth points as a compact manifold, then re embed the smooth version back into the projective space. there is also an algebraic version of that process, due to zariski, called normalization of the curve, which desingularizes it in one stroke.
just take the coordinate ring of the curve and pass to its integral closure. bingo, the associated curve whose coordinate ring is that integral closure, is non singular, and birational to the original curve.
this is kind of a long story, and i don't have time to teach a whole course in desingularization of curves here and now. hang in there, it will become clearer. i myself benefited from the concrete treatment in walker via quadratic transforms, and i have also written up this story, but my notes are also quite lengthy, and not yet posted online.
it is interesting that the process of projecting curves down from a higher dimensional space to a lower one, can not only introduce singularities, but also remove them! the difference is whether the center point of the projection lies on the curve or not. I.e. projecting from a singular point of the curve can reduce the complexity of that singularity.
this is explained in joe harris' book on algebraic geometry, a first course.
in fact a quadratic transform does this. the map above given by (yz,xz,xy), can be viewed as first mapping from the plane to P^5 by the functions (yz,xz,xy, x^2,y^2,z^2), and then projecting down to P^2 by omitting the last three coordinates.
the point (1,0,0) maps first to (0,0,0,1,0,0) which lies on the center of projection (we project successively from (0,0,0,0,0,1), then (0,0,0,0,1), then (0,0,0,1)), hence this point is "blown" up by the process.