I was reluctant to say this but obviously you don’t do research in the middle of a project
if you spend too much time looking for the right tools then you don’t get the job done in the right amount of time but that is a project management problem, not a software problem, I have had situations where i researched for a new way/tool to do something and found a tool automated all the manual work and allowed me to perform better, than if i had used my regular tools did all the work myself (reinventing the wheel) i have had situations where the opposite was true I was not able to finish in time because i did not evaluate the tools capabilities in a proper way.
In the end all that is required is a pragmatic approach if you don’t have the time to do the research then your competition might find that time and be able to outperform you, but that has to do with project management. Be informed is the key, just because an IDE does not have a certain feature wend you tried it, or did something in an illogic way, or performed badly don’t throw it to the trash can, instead evaluate it again for your next project, of course the tools/IDEs that you use also progresses with time, so you might find there is no need to change but at least you have evaluated the situation and have made an informed decision.
A practical example i used to be a big fan of the Borland IDEs for Java development i was more productive with them but i always keep evaluating other solutions, and right now i still use Borland tools but i develop in NetBeans (i use Borland together for UML/RE). The UML tools in NetBeans (well Java Studio Enterprise) are not good, they are slow, complex, and unintuitive, so right now i am doing what you say i am working with a sub-perfect solution/IDE (Perfect is a strong word for any solution) but it gets the job done in the least amount of time, sometimes i even use C++/ C# to do some tasks because i know i can do the job in a least amount of time using them.
There is no perfect solution, you should evaluate your toolset from time to time, obviously if you are in the middle of a project, and choosing another IDE would improve productivity by 10% it would not be worth the switch, but if productivity would improve drastically then you should consider it (but this is usually an indication that the project is not being well managed, you should have time in your project to evaluate tools, if you don’t do this then there are many risks competition might get the features done in a faster way, maintenance costs, etc…
Again this topic has spawned into yet another topic project management, which i will not get to deeper than say that proper evaluation is a key process, finding the right tools for the right job is key to productivity (or knowing the limits of a tool and having proper workarounds use an auxiliary tool, code around the problem etc… sub-perfect solutions like these are the rule in the industry).
There are of course also philosophical question Eclipse uses a plug-in architecture (with views, etc…), NB, Intellij are much more integrated some people like integration others don’t.
Just a Point in case: Before NB 5.0 i probably would not use it for form creation but Matisse is a great tool that improves productivity immensely, developing plugins for it was a pain in 5.0 is almost too easy.
There are many others points that can be made to pick one or other IDEs the point is stay informed on new features, keep track of it (but obviously if you are in the middle of a project carefully evaluate any tool before making the switch but that is more of project management issue than any other thing, do you have the time to make the switch? which means a proper evaluation (prototyping, etc…), changing schedules, release dates, etc… is it really worth it, sometimes it is sometimes it isn’t, be pragmatic, and sometimes it is not in your hands it is on the project manager (how many times have you used a tool, knowing that there is a better solution but management does not approve of it, or want to change schedules to evaluate, accommodate the switch?).
So in the end my motto still stands use the tool that is right for the job and keep informed on all others, keep evaluating them, especially new releases, so that wend the next project comes along you don’t spend 2 weeks evaluating tools you spend one, or next time your project manager ask you to evaluate/recommend a toolset for the project you have the answer on the tip of the tong, or if you are a project manager you can discuss it with other members of your team (and make a strong case to go against there recommendations).