I've observed this behavior, too. In my particular situation, I wanted to Join a shapefile of buffered lines with another shapefile of lines, keeping all of the latter lines that fall completely inside the former buffers, and joining the information in the buffers with these discovered circumscribed lines.
The process for the wizard is
- Right-clicking the shapefile of lines
- Choosing Joins and Relates -> Join.....
- Selecting "Join data from another layer based on spatial location"
- Selecting the layer of buffer shapes
- Select "Each line will be given all of the attributes of the polygon that......" and select "it falls completely inside."
The same process in Python code would be:
arcpy.SpatialJoin_analysis (line_layer_file, buffer_layer_file, output_file, "JOIN_ONE_TO_ONE", "#", "#", "COMPLETELY_WITHIN")
Whether I run the Python version as python code or in the model builder, I get the same results . . . both of which contain seemingly random entries! There are entries included that are definitely NOT completely within the buffer. They overlap the buffer, but are not completely within it. And in fact, other lines that lie completely within the buffer can be overlooked in favor of one that only intersects/overlaps the buffer. This erroneous performance is corrected when using the wizard.
I know I remember finding a post, either in this forum or another, that this occurrence is a known issue. But I cannot find it now.
PS. There is no error message for me--both run to completion--but the results are incorrect.