IMHO: contract - это когда речь идет о договоре вообще, как сделке, отсюда вытекает самостоятельное употребление этого слова, без сочетания с какими-либо определяющими его словами, agreement - это когда имеется в виду какой-то конкретный тип договора, например, sale and purchase agreement, licensing agreement, и т.