I am also directionally-challenged. I have difficulty reading maps, though I think I'm getting better at it. It doesn't help me when people say go north, south, east, west. I have always depended on landmarks. However, the best invention in the world for me is the GPS
I started using mine 3 years ago and it has helped me tremendously. I haven't updated it, but I would guess it to be accurate about 97% of the time. As far as getting lost indoors, I do this every time I get to know a new building. It helps me if someone shows me the route where I need to go (once or twice), and I make sure I go the same route every day until it becomes second nature. After a couple of weeks, I get lost less and less often.
On Amazon.com, a used GPS navigator is averaging around $65.00. However, I recommend spending a little more and buying a new one with lifetime map updates. On the Walmart.com website, there is a new Garmin Nüvi with lifetime updates on sale for $89.00. I wish the one I bought came with lifetime updates. Otherwise, the cost of updating is as much as buying a new one.
Also, if you have an iPhone, there is a GPS you can use on the phone. iPhone finds your location using a combination of GPS, Wi-Fi, and cellular towers. As you move, iPhone updates your location automatically. When you arrive, you can drop a pin to mark your location. This could help you find your way whether driving or walking.
Oh, some non-technical advice here. Always give yourself extra time to find a new place, taking into account the possibility of getting lost a couple of times. Depending on the situation, I usually allow myself an extra 15 - 30 minutes. Also, if it is essential that I arrive to a new place on time (such as first day of work), I will scope it out the day before, instead of trying to find it for the first time the morning of.

_________________
"At times our own light goes out and is rekindled by a spark from another person. Each of us has cause to think with deep gratitude of those who have lighted the flame within us." - Albert Schweitzer