Sometimes this is because the person writing the code does not know about the appropriate algorithms. But often it is because the algorithms are too complex to implement easily and there are no easily accessible implementations available. In cases where there are multiple algorithms or implementations available it is often not clear which one should be chosen. To alleviate these problems, work needs to be done in the following areas:
The computational geometry community is taking steps in this direction. Nina Amenta, Seth Teller, and Ernst Mücke have begun such collections. The LEDA project incorporates a number of geometric algorithms, and more are being added. But to date there is no geometric equivalent to the packages for solving linear programs or even to the book Numerical Recipes. The geometric programs collected are usually implemented by researchers to test their algorithm, and may not be "industrial strength." They often use incompatible data structures. The collectors of these programs usually do this work as volunteers, and they do not have the resources to rigorously evaluate all contributions.
Ideally there would be at least one well-funded group with the charge to evaluate algorithms for the entire range of geometric problems, to implement the better ones correctly and robustly, and to make them available to researchers and programmers. How this group would be funded is a difficult but important question.
The algorithms should be implemented to share data structures and primitives whenever possible (so that the relative speeds of the algorithms and not the cleverness of the implementers is being tested). The programs need to be ported to a range of machines, because differences in architecture seem to greatly influence the relative speeds of algorithms.
A sub-area of experimental evaluation is choosing appropriate test data. We at least have some idea of what "random" point sets might be (uniform, normal, etc.), even if we do not know how realistically these distributions model the real world. But what is a "random" collection of non-intersecting line segments or rectangles or polygons? We have barely begun to consider such questions. Furthermore, how do these correspond to "real world" data?
Using "real world" data is not a panacea, either, because applications differ widely in what sort of data they use. What is needed is a collection of benchmark data drawn from a wide range of applications. I know of no such collections of benchmark data available, and creating such collections would be a valuable service to the community.