どちらも要素が表示されないので、見た目は同じだが display:noneの場合は、要素そのものが存在しないことになるので、クリック等のイベントが拾えなくなる。 opacity:0;の場合は透明度0の要素が存在するので、クリック等のイベントは拾える。
従って、イベントが拾えなくなった!というような場合はdisplayがnoneになっていないか確認すると良い。