I used AVR's for 8 years and I've been using PIC for about 6 months now. There are advantages to using AVR's and there are advantages to using PIC. Lets assume for now that we are limiting this discussion to 8 bit PICs as AVR is only an 8 bit architecture.
The AVR has a VERY nice FREE optimizing compiler, AVR-GCC. There is a VERY active forum at avrfreaks.net at which the writers of AVR-GCC have a pretty strong presence. This means if you happen to actually find a bug, you can get one of the compiler coders to comment on it within a day or so without even having to PM him. In my 8 years of using AVR-GCC I can only recall one bug from the compiler. It caused a compiler crash, not a bad hex file. Changing optimization eliminated the error, and I never did narrow down on the cause.
For PIC, there are no free optimizing compilers. There are free trials for optimizing compilers though. In my six months of using PIC, I've found the Hi-Tech compiler to be riddled with bugs, mostly incomplete or just plain wrong header files. On one part the ADC wouldn't work which I narrowed down to improper bank switching. Oh, and there is no bank switching in AVRs. You can access any register at any time.
lIts been brought up multiple times that the AVR is faster in general due to most instructions being one clock cycle. Some people have suggested using a faster crystal to improve the speed, but not only does that take additional pins, but there is a limit to how fast it can go. Something that cannot be overcome is the fact that most if not all 8bit PICs have ONE working register while the AVR has up to 32 working registers. What this means is that the PIC will be swapping stuff in and out of RAM constantly. So, not only does it take 4 clocks to execute an instruction, it takes multiple instructions to add two numbers. load register, move register to ram, load register, add ram to register as compared to load register, load register, add register to register. So thats 16 PIC cycles vs 3 AVR cycles (some AVR instructions take more than 1 cycle, but I think loading a register and adding takes only 1).
Taking that thought a step further.... if you have a part with a tiny amount of flash and need to write assembly, the AVR is MUCH easier to work with due to the abundance of working registers (newer PICs have more registers, but I THINK they are 16 bit PICs).
AVR tools are generally cheaper. A cheap AVR programmer is $30, the ICD2 for PIC is about $50-$60 (I think there are cheaper PIC programmers though). The JTAG ICE for AVR is about $300 while the comparable PIC part is about $550.
The only benefit to using 8 bit PIC's over an AVR that I can think of right now is that the config bits for PIC are in the load file for PIC while the AVR's fuses have to be programed in a separate step. This makes production more reliable when a minimum wage person is performing the programming.
The 16 bit PICs are pretty nice though, but I HATE the documentation (and 32 bit documentation is worse). On some of them, you can move peripherals around to just about any pin you want, built in USB, high precision low current supplies, and in about a year some PICs will have a built in LCD driver with an RGB interface. There are no 16 bit AVR's for me to compare this to, but there are ARM based Atmel chips. However, I don't know much of anything about those parts, maybe they have some similar stuff, maybe not. All I know is that AVR in my book is far superior to an 8 bit PIC.
Edit: Now, its not exactly fair to exclude the 16 bit PICs as the price point is actually very nice and there are a lot of on board peripherials. You can get a lot of MCU for $4 and there are some good free libraries available for the PIC. The project I'm working on right now used to be based on a $4 PIC24 (16 bit PIC) and would drive a 256k color 320x240 LCD though it was a bit slow, but that slowness could be hidden. The graphics library was provided free from Microchip, I don't think Atmel has anything comparable for their AVRs.
If anyone can poke holes in what I've said, please do so.