L'ulcère gastro-duodénal résulte d'un déséquilibre entre des facteurs protecteurs de la muqueuse gastro-duodénale (intégrité anatomique de la muqueuse, de la vascularisation pariétale, sécrétion de mucus par les cellules mucigènes, sécrétion de bicarbonate) et des facteurs d'agression (sécrétion chlorhydro-peptique majorée notamment par le stress), la prise de toxiques, dont l'alcool, le tabac, le café, certains médicaments, dont l'aspirine (risque de 1/1000 d'avoir un ulcère), et autres anti-inflammatoires non stéroïdiens, corticostéroïdes, ...)
Cette conception classique a été remise en cause par la découverte du rôle prépondérant de l'infection par Helicobacter pylori.
Le terme d'« ulcère de stress » est donné en cas de maladie sévère concomittante.
Les causes médicamenteuses sont indépendantes de la présence d'hélicobacter. Les ulcères sont causés dans ce cas par la suppression de la secrétion de prostaglandines par l'estomac qui est due à une inhibition de la Cyclo-oxygénase 1 (COX-1). Les anti-inflammatoires de type anti COX-2 (appelé communément coxibs) provoquent beaucoup moins d'ulcères.
Dans certains cas, les ulcères peuvent être liés à une autre cause, comme dans le syndrome de Zollinger-Ellison.