I've recently read a blog post on choosing which test cases to automate. It is a very good and concise read that is summarised by choosing to automate "easy" (tests that are going to verify the initial state of the feature, i.e. test cases that do not have many steps) and "medium" (tests that are going to verify functional, non-functional cases) tests.
The target here is to automate the test cases that would have to be verified repeatedly over time, i.e. Smoke tests, Sanity tests, Regression tests, etc. This would allow us verify faster the old features, when new feature is developed, and validating that the old features are not broken.
Below, I'll discuss another 2 points to consider when deciding what you should automate.
What is your mission?
Use automation when it advances the mission of testing. Evaluate your success at automation in terms of the extent to which it has helped you achieve your mission - James Bach, et al
To add to Darjan's post. If we are to simply automate old features then what does that mean?
It can mean multiple things, it could mean that we automate old features but in our next release, we will not need testing for those features and we must consider whether it's the best use of our time. In an old post, I discussed about automating for immediate impact.
Let's take for example 3 sections: X, Y, and Z. In the next release there will be a change in section Y and no changes in sections X and Z. What should we automate? It would only make sense if we automate more of section Y and not X and Z, unless there is also part of the code that touch these section.
Increase your scope
It could also mean that perhaps this is your mission, perhaps coverage is one of our Key Performance Indicators for the quarter, in which case we must get this done. If this is the case, then it's better to increase the scope of your tests that cover more features rather than one.
Let's take for example a dropdown and a section with multiple buttons that have different features. The dropdown has a list of 300 selectable items that is using the same function for the output. With the section with multiple buttons, they all have different pieces of codes and all act differently. If both are 'easy' to automate, which one would you automate first? To improve the reach of my automated cases, I would automate the section with multiple buttons first as it means that my automation coverage for the system will be higher than just testing a dropdown with 300 items that are using the same code.
What else do we need to consider in deciding what to automate?