スパイは、密かに他の組織(国、企業、団体など)に入り込み、自組織に有利となるような情報収集行ったり、デマを流し相手組織を撹乱させる任務を行う人のこと。一言でいうと「諜報活動」です。
ビジネスの世界において、敵対企業に対してスパイることは「産業スパイ」と呼びます。公開前の新製品や技術などの機密情報の収取や人事の誘導などを行ったりするスパイのことです。
工作員は、密かに他の組織(国、企業、団体など)に入り込み、スパイ活動を行うところまでは同じですが、それにプラスして、物理的な破壊作業や妨害作業を実施する人です。普段は工作員であることがばれないように相手組織に所属しています。
スパイという言葉には、ちょっとクールでかっこいいイメージがあります。映画等でもスパイを主人公とした物はおおいです。主人公は美男美女でヒット作も多いし。
一方工作員は、陰湿なイメージありますよね。この言葉を使われるのは主に、北の某国に対して使われていることが原因かと思います。
スパイ行為も工作員の行為も、自国(自組織)にとっては正義であり、相手にとっては悪なわけで、それぞれの言葉にイメージって、自組織に都合のいい印象操作であることは否めません。(別に某国の肩を持つわけではないですよ)
そういう意味では、日本の忍者や必殺仕事人だって「工作員」なわけですしね。