There are three basic plugin types for AutoCAD:
- AutoLisp
- .Net
- ObjectARX
AutoLisp can be used with DIESEL scripts/macros to accomplish and automate basically anything that a user can due through the UI, and a maybe a little bit more, but .Net and ObjectARX are much more powerful, allowing you to create your own entities and more advanced behavior.
ObjectARX is a C++ interface, and the .NET classes are actually wrappers to the ObjectARX interface. The .Net interface abstracts things fairly well, but you still have to be concerned with the threading and possibly some other things as you develop more complex applications.
As previously mentioned, Through the Interface is a great blog for .NET stuff.
For ObjectARX, there is a good introduction at ObjectARX & Dummies, but for the deeper material the Developers Forums are a good resource.
If you are developing anything for people other than yourself, you should also seriously consider getting a registered developer symbol to prevent conflicts among different plugins. You can do that at the Symbols Registration page on the AutoDesk website.
Depending on your resources, you may also want to join the AutoDesk Developers Network (ADN), which provides access to software technical support, and early and beta access to upcoming AutoDesk products and APIs.