They both mean "peel." What is the similarity and difference between the two?
Can they both be used in peeling fruits and vegetables? If so, which one is more commonly used?
I don't think we usually say things like リンゴの皮をはがす, ニンジンの皮をはがす, when cooking/eating fruits/vegetables.
According to デジタル大辞泉:
「木の皮をはがす(むく)」のように、外側の部分を取り去る意では、相通じて用いられる。
「はがす」は、表面に付着しているものを取りはずす意。 「ポスター(切手・シール・傷口のガーゼ)をはがす」
「むく」は表面をおおっているものを取り去って中身をあらわにする意。 りんご(みかん)の皮をむく」「ゆで卵のからをむく」「目をむく」「歯をむく」
木の皮をはがす, 木の皮をむく are both acceptable. (木の皮をはがす sounds more familiar to me, though.)
We usually say リンゴの皮をむく (or リンゴをむく colloquially), バナナの皮をむく, ニンジンの皮をむく, じゃがいもの皮をむく, ゆで[卵]{たまご}の[殻]{から}をむく etc.
By the way, ピーラー is also called 皮むき器, but not 皮はがし器.
We usually use はがす for removing シール, ステッカー, ラベル, ポスター, [壁紙]{かべがみ}, フローリング etc...
We also say 化けの皮をはがす, [爪]{つめ}をはがす.
剥く means to remove an external covering, most often referring to the covering/rind from a fruit or vegetable.
剥がす can likewise mean to remove an external covering, but it can also mean to remove something that is attached to something else, like a postage stamp on an envelope, or a poster on a wall.
Source: スーパー大辞林
they can both be used in the context of fruits
-- ん? I don't think we usually say things like リンゴの皮をはがす, ニンジンの皮をはがす.