Depends what you want to get out of it. I used it for a year to host a crappy blog that got trivial amounts of traffic. It's perfectly fine for its primary use case of getting your feet wet in the AWS ecosystem, learning what all the different features are for, and how to manage them. If you want to do any "real work" you'll blow past what the free tier offers, but that's ok with me.
Yes, you can incur charges if you exceed what's covered by the free tier. Not all AWS services even have a free tier, and those that do are severely limited (1 micro instance, 5GB of S3 storage, etc). You're not off in some sandboxed environment where they just shut you down if you go over the limits. It's more like a monthly credit of $X for the first 12 months of your account. To cover my ass, I set a really low billing alert threshold. Like "email me if my monthly bill ever projects to exceed $1".
Yes, when I was still in high school, I had set up a Munin graphing node on AWS. Well, what I didn't realize at the time was that Munin likes to use a lot of disk IO every time it writes out the graphs. AWS charges for I/O on their SAN (not on local disks, but the free tier doesn't come with local disks), and so I ended up with a $150 bill and only use them now for Route53 (DNS hosting, it is fantastic for that), and S3/Glacier for archival storage.
It is worth trying if just to gain knowledge on AWS. But for hosting, I'd say DigitalOcean
The newer EBS types don't charge per I/O operation. (Provisioned IOPS types charge for the speed you theoretically can do, but don't charge for the ops you do do.)
Can it incur charges even if you've set up the server to only be a free tier?