I think you are confused on what the shadow catcher is supposed to do.
The shadow catcher would be an object whose only function would be to catch the shadow and be transparent, so that it can be overimposed over 2D images mainly. it is not meant for the object projecting the shadow. (read this link as an example of one of the uses for a shadow catcher: How to make a model cast shadows onto the world texture/background?)
If you wanted to project the shadow of a 3D object into a picture of a floor or wall that is just a 2D image then you would use a plane to work as a shadow catcher to create fake shadows.
In this case you want an object to cast a shadow on another 3d object, you just have to use a diffuse shader on the object and it will cast a shadow depending on the light you are using.

Part of your problem is that the background you are using is set to a strength of 1, creating a very bright flat illumination. Bring it down so you can see what the other lights are doing.