"I almost forgot her birthday!"
In this case, 差（一）点 would be a better translation than 几乎 for "almost".
Actually, 幾乎 sounds better. Though I have heard 差一點 used quite a bit in that context, it was always by 工人。 I'm told that using 幾乎 is more polished. I must admit that I used to use 差一點 in these sort of sentences and no one minded!
Both are good without context. In my opinion, they are mostly interchangeable but in some cases 几乎 puts more emphasis on the degree of development or the amount of progress. 差点 does less.
Example for when they may differ (maybe not the best):
- CN: 他每天辛苦工作，头发几乎全白了。
- EN: He works very hard every day, and his hair is almost all white.
- NB. As “white” (or gray) is the most possible color the hair may turn into, I think the emphasis is usually not on the color, but the event “his hair's becoming all white”. If I used 差点 it would sound like the situation was not serious enough to me.
To make the exclamation more explicit, or to indicate the unhappened state change, I think. Without 了 it still sounds fine to me.