「cannot but + 原形不定詞」
昔の受験英語の定番で「・・・せざるをえない」の意です。何故このような意味になるのかを納得するには「cannot (choose) but (to) do」のカッコ内が省略されていると考えればよいと思います。「・・・すること以外選択することができない」という意味です。「but」の語源は古期英語の「butan」「buton」で「・・・なしで」の意です。本来は副詞・前置詞で使われ、「しかし・・・」という接続詞としての使い方は後に発達したものです。
I cannot but laugh. (笑わざるをえない)⇒「How can I but laugh?」とも表現できます。
We could not but respect their decision. (私たちは彼らの決定を尊重せざるをえなかった)

「cannot help + 動名詞」も同じ意味になります。「help」には「を避ける、を防ぐ、をこらえる」の意もあります。「avoid」「forebear」「keep from」「refrain from」に置き換えることもできます。「cannot help +原形不定詞」の形が取られることもあります(米)が「cannot help + 動名詞」の方が一般的だと言われています。
I can’t help laughing at her. (彼女を笑わずにはいられない)⇒「How can I help laughing at her?」とも表現できます。
She couldn’t help but be a little vague. (彼女が少しあいまいな態度だったのはやむをえなかった)
I cannot help him/his being lazy. (彼が怠け者であるのは私にはどうしようもない)
I can’t help the tears filling my eyes. (涙で目がかすんでしかたない)