Question: It's clear that one shouldn't use floating precision when working with, say, monetary amounts since the variation in precision leads to inaccuracies when doing calculations with that amount.

That said, what are use cases when that is acceptable? And, what are the general principles one should have in mind when deciding?

Answer: 
Floating point numbers should be used for what they were designed for: computations where what you want is a fixed *precision*, and you only care that your answer is accurate to within a certain tolerance. If you need an exact answer in all cases, you're best using something else.

Here are three domains where you might use floating point:

1. **Scientific Simulations**  

Science apps require a lot of number crunching, and often use sophisticated numerical methods to solve systems of differential equations. You're typically talking double-precision floating point here.
2. **Games**  

Think of games as a simulation where it's ok to cheat. If the physics is "good enough" to seem real then it's ok for games, and you can make up in user experience what you're missing in terms of accuracy. Games usually use single-precision floating point.
3. **Stats**  

Like science apps, statistical methods need a lot of floating point. A lot of the numerical methods are the same; the application domain is just different. You find a lot of statistics and monte carlo simulations in financial applications and in any field where you're analyzing a lot of survey data.

Floating point isn't trivial, and for most business applications you really don't need to know all these subtleties. You're fine just knowing that you can't represent some decimal numbers exactly in floating point, and that you should be sure to use some decimal type for prices and things like that.

If you really want to get into the details and understand all the tradeoffs and pitfalls, check out the classic [What Every Programmer Should Know About Floating Point](http://docs.sun.com/source/806-3568/ncg_goldberg.html), or pick up a book on [Numerical Analysis](http://en.wikipedia.org/wiki/Numerical_analysis) or [Applied Numerical Linear Algebra](http://books.google.com/books?id=bj-Lu6zjWbEC&dq=applied+numerical+linear+algebra&printsec=frontcover&source=bl&ots=5F5fVNdfwX&sig=Z9FiPDHVocrwrJZNkoQ9rh8ow70&hl=en&ei=LXvaSc6bC42qtAPW5vDXBg&sa=X&oi=book_result&ct=result&resnum=8) if you're really adventurous.
From [Wikipedia](http://en.wikipedia.org/wiki/Floating_point): 

> 
> Floating-point arithmetic is at its
>  best when it is simply being used to
>  measure real-world quantities over a
>  wide range of scales (such as the
>  orbital period of Io or the mass of
>  the proton), and at its worst when it
>  is expected to model the interactions
>  of quantities expressed as decimal
>  strings that are expected to be exact.
> 
> 
> 

Floating point is fast but inexact. If that is an acceptable trade off, use floating point.