It's over when it's over. It's going to vary from group to group, campaign to campaign - and it's not even going to hinge on whether the campaign has a planned "conclusion" or not.
If you plan to end a campaign at 20th and it feels right to do so - do so. If you plan to end it at 15th but it's wearing thin before you get there - wrap it up and move on/start over. If you don't have any end planned at all and you never intend for it to end, even fully expect it to eventually go Epic - then you simply have to be sure that the campaign will continue to be fun for all involved.
No matter how much work you put into them sometimes characters, story arcs, or the very campaign world itself just gets OLD, same-y, boring, etc. Variety is the spice of life and all that.
For my own part, 3E gets... unwieldly to me as it gets higher level both as a player and DM. My current and future 3E campaigns will be run with a fairly close eye to allowing a proper wrap-up to campaign events as it nears 15th+ in PC levels. I probably won't PLAN to end it there as such, but both as a player and as DM I like a more middling level range for PC's. In the earlier stages, perhaps the first half of a campaigns shelf-life, I want there to be a lot of stuff going on, with the PC's lower level than local and world leaders - but WITHOUT those leaders needing to be high-teens in level in order to seem truly powerful. The latter half or so of the campaign would be where the PC's meet and even exceed the dedicated power level of typical NPC leaders and the high-teens to 20th level NPC's will be used very sparingly.
I just don't care for the idea of "epic" games so ending them at or close to 20th feels to me to be pushing the boundries of what will work for me in the 3E system.