It is going to depend on your budget amount , I have the 3gb version because I had the money when I was making the purchase so I said why not , If I get it now I will have it. There are some reasons to get the 3gb version and not everyone will come across it but if you want to game at 2560x1600 on a 30' monitor at ultra settings then you will need it. When you game at 1920x1200 and ultra settings you have to account for the textures that are being loaded.
Also higher settings for Texture Quality do not significantly affect FPS. However as texture detail rises, so too does the amount of Video RAM (VRAM) needed to hold these textures on your graphics card for quick access. In BF3, textures are streamed in as required, but your Texture Quality setting determines the texture pool size, which is the amount of VRAM allocated to storing textures at any one time. At the Low setting, 150MB is allocated to the texture pool; Medium = 200MB; High = 300MB; and Ultra = 500MB. Keep in mind however that your VRAM also stores a range of other game information, and that an average multiplayer level in BF3 can have 1.5GB or more of textures, so it can't all be stored on your GPU at once. Thus setting this option too high may result in stuttering or visible texture streaming. The Ultra Texture Quality setting for example is designed specifically for GPUs with 1.5GB or more of VRAM.