Three years ago, I had never spoken in public (I have video of that first attempt and all I can say is that I've come a long, long way!). Since then, I've done rather a lot of it. I've submitted countless conference talks, had the minority of those accepted, and prepared and delivered those that were. Not many talks have been given twice, but some have, and now some are getting rebranded since I am working for myself and can choose my own slide branding these days. All this adds up to a lot of content to keep track of!
When I decide to submit to an event, I create a new folder for it. Over time I've come to realise that for annual events, this needs to include the year as well as the event name. User groups and barcamps get one folder with subfolders inside for the various occurrences.
Abstracts and Bio
I generally copy my previous biography over from the next-most-recent event that I submitted to, and update as required. At this point (well before the close of the CfP) I also write the abstracts for any talks I'd like to propose for the event. If the talk already exists and has been delivered somewhere, then I will just use the previous abstract. If I'm submitting the same talk to multiple places, I always recreate the abstract, with the particular event in mind - it's ethos, attendees, and aims. I'll often circulate the abstracts around a few trusted friends to check and comment on. Peer review is great, they point out where you're not making sense and also make comments about things you could include in your talk, but always stick with your own instincts if you get advice you disagree with. I was once advised not to bother submitting a talk that turned into the most popular talk I've ever given - happily I didn't listen :)
The advantage of having everything already in the filing system is that when you get a talk accepted, you don't have to email to ask them to send you the abstract back to you to remember what it was all about (yes, I've made this mistake, typing directly into a web form when I thought I had no chance of getting accepted! Don't do it ... )
I've been asked a few times to write about the way that I prepare talks, and I've always hesitated because I think it's different for everyone. I create a directory for each talk and start collecting the content in there. There's usually a textfile outline, some code snippets, maybe some diagrams or photos. I build this lot all up and then will assemble slides at the last moment. I normally save my files as PDF as well as open office (unless I'm somewhere I *know* everyone will have OOo, such as OggCamp) - partly so I can use any machine as a fallback if I have problems with mine, and partly because slideshare eats my fonts, so I always upload PDF to there.
I actually don't have my "publish" directory (all the talks live alongside articles, blog entries and really everything else) under source control, although perhaps I should. It is part of the daily backup routine though, and while I'm working on a talk I'll drop repeated copies of it to a usb key which I keep about my person.
Having Everything To Hand
Last night I spoke at the LeedsPHP User Group since their speaker fell through, and I was quickly able to pull out a selection of talks for their attendees to be able to pick from, and knew that I would be able to lay my hands on all of them easily. I do use my own talks for reference when creating future talks on the same topics, and I love that everything is at my fingertips. I get comments about being "too organised", but how can there be any such thing?