Well if the question is in fact about a moral contractor then the answer is simple.
If you cannot honestly explain to the client why he should pay a 1000 for 3 pallets that you over measured, then your wrong. If you can however justify it to them honestly(not to us)then your golden.
If your question is can you get away with keeping the money, well that would depend on how the bid was worded.
Spray is better compared to maint than sod. Your spray contract is to maintain the property. Not to put down x amount of product. Just like your maint is to maintain the prop, not provide x amount of cuts. If a yard is to dry, at that point the client is paying for you to know enough not to mow and harm the turf.
On sod your being paid for a one time, definable job. Can you do it, well you can rob a bank. Dont make it right just cause you get away with it