When (이)나 and 아니면 are connecting two ore more nouns, they have similar meaning, with 아니면 more strongly indicating the choice aspect.
- 버터나 마가린 하나 사 와. (casual, as if it doesn't matter which)
- 버터 아니면 마가린 하나 사 와. (similar, but slightly more emphatic about the items)
- 버터, 아니면 마가린 하나 사 와. (definitely 버터, and 마라린 only if it's not available)
이나 also has many other usage with a single noun. It can add emphasis like "as much/many as", indicate something as an inadequate substitute, or impart a sense of guess and other nuances.
- 별것 아닌 물건 가격이 10만원이나 돼 = This trifle thing is priced AS HIGH AS a hundred dollars.
- 다른 게 없어서 그냥 차나 드릴게요 = I don't have anythin else, so I'll JUST offer you tea INSTEAD.
- 그 사람은 나이가 몇 살이나 됐을까? = I wonder (JUST) how old he might be.