The biggest brands like Sandisk are expensive, but there are secondary brands like Kingston, Patriot, PNY, and so on that are good quality but still good price.
There are also tertiary brands like Adata, Trancend, and so on.
The danger is buying really off-brand memory they can be faked. Like a 2GB card "faked" into a 16 GB card. Those are often found on eBay and such. Add a fake label and you can't tell the difference unless you open the package and test it.
Buy from a reputable dealer, like Meritline, Newegg, and so on. So you don't get fakes. Generally, SD cards are about 1 dollar per GB, could be lower if slower memory (class 2 or 4) or very large size, like 8 to 16 GB. flash drives may be even cheaper.