I agree lily-san.
Although they basically means the same when translated, they carry different images and connotations. Native or advanced Japanese speakers choose whichever appropriate in the context. The choice depends on the individual sense rather than the dictionary's difinition.
For another example,
レストラン serves some Western food such as Italian or French in a fashionable, modern style. There could be フランス料理店, which sounds a bit retro style, too. A restaurant that serves traditional Japanese cuisine should be 日本料理店, but never be 日本レストラン.