I avoid == with floating/fixed points like the plague. If I can do a > or a < with a couple of and statements I'll do it. Too many times I've been burned by that damn epsilon. If only we had 8 digits per hand, base 2 would have been trivial to handle.
The article points out an interesting quirk in C#/.Net: the algorithm the C# compiler uses to convert numeric literals like "3.14159" to 64-bit IEEE binary may be different from the algorithm used by .Net framework APIs to do the same conversion. So if you mix the two types of conversion in your code, you may get unexpected results.