VSPAERO panels (either thick or thin) are constructed from vortex rings (which is equivalent to a constant strength doublet panel). So the KJ approach directly computes the force on each vortex segment, summing across the entire body (a discrete surface integral).
The wake formulation instead considers the vorticity shed from the trailing edge into the wake, summing across the wake attachment lines (a discrete line integral). This is similar to a Trefftz formulation used in many other panel codes.
Most potential flow codes (both 2D and 3D) have two analogous ways of integrating inviscid forces. I'll talk in terms of a textbook 2D panel code just to simplify things...
In a 2D code, you can compute lift by either:
1) Computing Cp for every panel and integrating the forces.
2) Compute the vorticity jump at the TE point.
The accuracy of method 1) requires that the Cp distribution is accurately predicted -- and it also requires that you have sufficient resolution to accurately integrate the forces.
An interesting exercise is to start with an analytical solution (typically from conformal transformations) for a lifting airfoil (say Jukowski or Von Karman Trefftz). You have an analytical expression for the airfoil shape and for the Cp distribution -- pretend like this is a perfect potential flow solution. Then, discretize the airfoil (to say 50 panels, clustered as you see fit). Then, evaluate the analytical Cp distribution at those 50 points and calculate the discrete approximation of the lift force -- compare that to the analytical solution for lift. What you'll find is that even with a perfect flow solution (Cp distribution), the discrete surface integral needs pretty fine resolution to accurately capture force and moment. Often, this requires finer resolution than you need from a wake formulation.
Part of the magic of potential flow theory is all the things that it captures implicitly through the formulation (i.e. independent of the discretization and the numerical method).
The best example of this is the boundary condition at infinity. In finite volume or finite difference CFD, you not only need to resolve (make a volume grid) of the domain surrounding the body, the quality of your solution depends on how far away you place the 'far field' boundary. In 2D, computations are cheap, so you'll probably see guidelines to place the outer boundary 10-100 chord lengths away (depending on what you're trying to accomplish). In 3D, things are a lot more expensive, so you'll probably be thrilled to put the outer boundary 5-10 wingspans away. Careful practitioners will conduct tests to convince themselves that they've placed their outer boundary far enough away to approximate the far field condition with sufficient accuracy for their purposes.
In an external flow code based on potential flow theory, the boundary at infinity is satisfied exactly. Always. Without trying. Without even having a volume mesh. Without even having to place a far field boundary anywhere. Even for a solution that is poorly resolved and not run to convergence -- the far field behavior is satisfied exactly. It is like magic.
Using method 2) to calculate forces in a 2D code often boils down to simply reading one of the values from the solution matrix -- i.e. if the code is set up as a system of linear equations Ax=b, x[N] might actually be the lift coefficient. Or sometimes it is x[N]-x[N-1].
This means that the lift is calculated as a part of the core solution to the flow -- not through a bunch of post-processing steps performed later. It is as if the solution computes the momentum imparted on the flow as a part of the basic solution. We simply choose to use that result instead of inferring the loads by summing a bunch of pressures and hoping everything comes together accurately.
The bottom line is that a wake formulation for loads will generally converge sooner (in terms of a grid resolution study -- i.e. at a coarser mesh) than a surface integral approach. So, in general, it is preferred to use the wake forces.
Unfortunately, there are some complications...
The wake type approaches generally can't calculate moment (only forces). Their formulation for unsteady flow is either more complex -- or doesn't work at all. There are some other situations where they don't work.
So, pretty much every potential flow code will perform both computations and report them both. It is up to an experienced user to decide when they need to use each one.
Rob