Personally, I would do it every time you change brake pads / rotors at least. How hard do you drive? Any aggressive driving that might require hard braking? If you are hitting the canyons, then consider doing it more frequently. And if you do any track days, flush before the track day and after the track day.
I would take a look at the color of your fluid currently. If it looks dark or dirty, consider doing a fluid flush. Brake fluid can slowly accumulate water over time which boils a lot easier than brake fluid, so even if you don't drive hard, it is possible that you are getting a little air in the line from water boiling from brake heat.
Cost wise, I wouldn't know. I haven't paid a mechanic to work on any cars of mine for years. If you are at all handy with tools, try doing it yourself (if you feel comfortable about it). Dealers usually lump the cost of the fluid flush in with other services such as a brake job or general maintenance package. I would call your local mechanic or stealership and just ask around. Get multiple quotes to give you a better idea.