Here are some in-depth articles about the two shadow-casting techniques:
Shadow Mapping
Shadow Volume
The first one is texture-based and causes those jagged edges, if the texture resolution is low. This can be avoided to some extend by applying a blur effect, such as a gaussian filter.
Performance mainly depends on the resolution of the shadow-texture.
The second method relies on finding silhouettes and projecting them onto world-geometry to create shaded areas. Unfortunately it is kind of hard to get blurry shadows with this approach. Performance mainly depends on the geometric complexity of the objects casting shadows.