If you do not know the answer to this question then you have no business picking out a GPU for yourself. Please go hire someone to upgrade your PC for you... it will be less painful in the end.
But to answer your question; Yes, graphics cards from any vendor, will work with motherboards and CPUs from any vendor. Yes, AMD makes much better budget/mainstream cards than nVidia.
For pros and cons there are a few generalities; AMD tends to have worse driver support, but that tends to not be a real issue for mainstream cards, just complicated xFire or high end setups. nVidia has PhysX support, which is nice for a few specific games that support it, but this can be emulated via the CPU for some games without issue if you choose an AMD card. nVidia tends to have a more consistent frame rate, and fair a little better with post processing (AA/AF), while AMD tends to fair better with higher resolutions and multi-screen workloads. AMD has a definate advantage over nVidia on compute workloads (video editing and 3D work), but some software requires CUDA which AMD does not have.
For processors, keep in mind that current games only support up to 4 cores, and many only do 2-3, making the i7 no faster than an i5. Future games (next year after the new console release) will likely support more cores, but as of yet there is no word on if they will support HT technology to make current i7 CPUs more effective, or if they will require something more like AMD's Bulldozer cores to be effective.
If budget is of any concern at all then keep in mind that a high end i3 or low end i5 has enough horse power to max out any of today's games, so it is much better (at this point) to get a modest CPU, and then pour all your money into GPU, PSU, and a decent quality mobo.