"This is not an uncommon occurrence. Other consultancy firms seem to regularly help customers make decisions that are in the best interest of the consultancy and not of the client. If a sales person manages to convince a company that their product is the latest and greatest and it turns out to be useless software that crashes regularly then that is the sign of either a good salesman or a bad manager. Caveat Emptor.
Consultants are are supposed to provide a service, not sell a product. I know that the consultant is the product and there may be other products that the consultant uses that are beneficial to the client but that are not what the consultants purpose. The consultant (and this includes contractors) is hired by the company on the assumption that they will perform their duties to the benefit of the company as would any other staff member.
Is it ethically correct for me as a consultant to knowingly make decisions for the company that will increase the length or value of my contract even though I know it is not in their best interests? Obviously the answer is no.
I would hate to think that I am the exception to the rule but people in consulting with ethics appear to be few and far between. Where is the code of ethics for computing consultants and contractors? I have my own skeleton code of ethics but feel that it is time to put together a real one that could be used by consultants and contractors around the world. We are supposedly professionals and other professionals such as doctors and lawyers have one. Why not us?"
In a related question, E TiE asks: "What are good books for computer ethics and history?" Would anyone out there like to pass him a few ISBNs?