Guest posting is writing an article for another website in your niche, usually including a link back to your site. Done well, it builds backlinks, authority and referral traffic.
Guest posting means publishing content on someone else's blog. It exposes you to a new audience and can earn a quality backlink.
Yes, when done on quality, relevant sites with real content.
Only if you use spammy sites or over-optimized links.