گرچه در برخی از نوشته های حقوقی این دو ترکیب را به جای هم به کار می برند . شکی نیست که بین آن دو فرق است و برای همین در ماده 401 قانون مدنی هر دو ترکیب استعمال شده است . ماده مرقوم مقرر داشته است : « اگر برای خیار شرط مدت معین نشده باشد...
هم شرط خیار و هم بیع باطل است.»
خیار به معنی ، اختیار فسخ معامله است و چنانچه این اختیار ناشی از شرط مقرر بین طرفین عقد باشد، آن را «خیار شرط» می نامند، همانطور که ممکن است به هریک از علل مقرر در ماده 396 قانون مدنی ایجاد شود؛ ولی خیارات دیگر مانند خیار مجلس و حیوان و عیب و ...... به حکم قانون به وجود می آیند، بدون این که توافق طرفین نقشی در آن ها داشته باشد و خیار شرط در نتیجه توافق و تلاقی اراده ی طرفین در ضمن عقد لباس هستی به تن می کند.
ماده 399 قانون مدنی می گوید: « در عقد بیع ممکن است شرط شود که در مدت معین برای بایع یا مشتری یا هردو یا شخص خارجی اختیار فسخ معامله باشد .» آن موجود تبعی که در ضمن عقد اصلی در نتیجه تلاقی ارادهی طرفین ابراز وجود می کند شرط خیار است و آن اختیار فسخ که در نتیجهی این موجود اعتباری تبعی حاصل می شود، «خیار شرط» نامیده می شود.
توجه به ماده 400 قانون مدنی نیز فرق آن دو را رخعیان می سازد: « اگر ابتدا مدت خیار ذکر نشده باشد، ابتداء آن از تاریخ عقد محسوب است و الا تابع قرارداد متعاملین است.» پس این شرط خیار نیست که مدت برای آن تعیین می شود، بلکه حق ناشی از آن ، که خیار شرط ( حق فسخ ناشی از شرط) نامیده می شود، باید مدت داشته باشد.
توجه به این دو نیز جمله معنای آن دو را روشن تر خواهد ساخت:
شرط خیار یعنی شرطی که خیار ( اختیار فسخ ) ایجاد می کند.
خیار شرط یعنی خیاری ( اختیار فسخ) که از شرط حاصل می شود.
سبب ایجاد خیار را شرط خیار می نامند و آنچه در نتیجهی آن شرط به وجود می آید، خیار شرط نام می نهند.
سخن آخر این که «خیار شرط نتیجهی شرط خیار است».