My first thought was "ok you need something like Greenshot" so, after some search, I found Shutter which offers the features you need (more info in this blog post). You can download it from Launchpad. More details:
Capture options like capture a specific area or whole desktop
Share options like generating shared link and Ubuntu One(which has stopped I think)
Hotshots is a screenshot tool with some editing features. It is particularly suitable for writing documentation, but you can use it to highlight some details on a map image or what ever you want.
Some important features:
Free/libre software and gratis
Can take screenshots: all screens, full screen, window, region, free hand region
Can crop those screenshots or any image inside its editor
Can add texts (where you will be able to choose the color)
Can add arrows (where you will be able to choose the color)
Can mark stuff with rectangles / ellipses/ polygons/ curves (where you will be able to choose the color)
Can use “system” shortcuts to take a screenshot.
Linux (needs compilation such as on Slackware Linux; Download) -- libXfixes and libqxt would be needed before compilation. Also, developer says that compiled packages are also available for Ubuntu and Arch Linux.
HotShots is pretty simple to use (similar to KolourPaint, MS Paint or GIMP, if you used any of them). I have put some of the asked features in a screenshot.
In the following screenshot, you would find:
the interface of the HotShots
zoom in on "Soft"
custom text written below website's title
a red colored arrow pointing to Questions
a rectangle bordering first line of your question's body
an image of a turtle added where question's stats were visible
blurred the fourth requirement of your question's body
made a free curve to make up for free hand requirement accompanied by a text box below it
I suggest Libreoffice Draw (and Dia) be added to dimzak's handy recommandation.
Draw allows to insert vector based signs such as arrows, ellipses, block arrows or numbers, very easily.
Being vector-based, signs can be moved and resized in a breeze. IMHO they look more 'professionnal' than pixel-based ones like in Shutter and GIMP.
I really like liked Pinta. Its feature set is surprisingly robust for such a small application.
Pinta is a free, open source drawing/editing program modeled after Paint.NET. Its goal is to provide users with a simple yet powerful way to draw and manipulate images on Linux, Mac, Windows, and *BSD.