Once you create a code it can be applied to any item in your shop. I have seen people state that a code is only for certain items, but that won't prevent buyers from using it on anything they want.
If it's a limited number of items you want to put on sale, it's best to create a sale section or manually reduce the price of those specific items.
I have done both % and free shipping and both have worked equally well for me, although I have heard others say they do better with free shipping. I think it depends on what you are selling & what kind of discount you can afford to offer.