Of the free software, I find Autodock Vina to be the best - which isn't necessarily saying much, admittedly. All docking software will dock your ligand to a receptor with varying degrees of success, and the best software for your particular problem will not necessarily be the same as the best for somebody else's. But most free software is user unfriendly - it's command line driven, requires a fair bit of practice to get used to, has a few arcane seeming options here and there, etc. I like Vina because A) it's relatively straightforward, and B) you can download Autodock Tools to give you a graphical interface to help set up some of the pertinent files.
An alternative is Autodock 4.0 - it's a slightly different, slightly slower algorithm than Autodock Vina, but is otherwise very similar. Also, ChemBioDraw3D has (or, at least, had) the option to interact with it, again granting you a graphical interface to help set up input files.
A major alternative is Dock - it and Autodock are arguably the two most popular free docking software options. It just doesn't seem to have quite as much second/third party support.
You probably want one of these three if you want to do big library screens. If you just want to dock a small number of molecules, however, you could try online approaches: ZDock, Swissdock, DockingServer, or the like will all let you just plug the data in, and give you an answer. ClusPro, RosettaDock, etc. will do docking of two macromolecules. These might be good options if you don't want to bother with installing software, making it work, etc.